matlab函数如何传入参数这个是函数部分function y=testf(t,x)a=0.8;m = 0.01;b=0.1;y=[-a*x(1)*x(2)+m*x(2)-b*x(1),a*x(1)*x(2)-b*x(2)-m*x(2),b*x(1)+b*x(2)]';这个是执行部份ts=0:0.1:50;x0=[0.98,0.02,0.00]; [t,x]=ode45('testf',ts,x0);plot
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/05 12:44:07
![matlab函数如何传入参数这个是函数部分function y=testf(t,x)a=0.8;m = 0.01;b=0.1;y=[-a*x(1)*x(2)+m*x(2)-b*x(1),a*x(1)*x(2)-b*x(2)-m*x(2),b*x(1)+b*x(2)]';这个是执行部份ts=0:0.1:50;x0=[0.98,0.02,0.00]; [t,x]=ode45('testf',ts,x0);plot](/uploads/image/z/3942444-12-4.jpg?t=matlab%E5%87%BD%E6%95%B0%E5%A6%82%E4%BD%95%E4%BC%A0%E5%85%A5%E5%8F%82%E6%95%B0%E8%BF%99%E4%B8%AA%E6%98%AF%E5%87%BD%E6%95%B0%E9%83%A8%E5%88%86function+y%3Dtestf%28t%2Cx%29a%3D0.8%3Bm+%3D+0.01%3Bb%3D0.1%3By%3D%5B-a%2Ax%281%29%2Ax%282%29%2Bm%2Ax%282%29-b%2Ax%281%29%2Ca%2Ax%281%29%2Ax%282%29-b%2Ax%282%29-m%2Ax%282%29%2Cb%2Ax%281%29%2Bb%2Ax%282%29%5D%27%3B%E8%BF%99%E4%B8%AA%E6%98%AF%E6%89%A7%E8%A1%8C%E9%83%A8%E4%BB%BDts%3D0%3A0.1%3A50%3Bx0%3D%5B0.98%2C0.02%2C0.00%5D%3B+%5Bt%2Cx%5D%3Dode45%28%27testf%27%2Cts%2Cx0%29%3Bplot)
matlab函数如何传入参数这个是函数部分function y=testf(t,x)a=0.8;m = 0.01;b=0.1;y=[-a*x(1)*x(2)+m*x(2)-b*x(1),a*x(1)*x(2)-b*x(2)-m*x(2),b*x(1)+b*x(2)]';这个是执行部份ts=0:0.1:50;x0=[0.98,0.02,0.00]; [t,x]=ode45('testf',ts,x0);plot
matlab函数如何传入参数
这个是函数部分
function y=testf(t,x)
a=0.8;m = 0.01;b=0.1;
y=[-a*x(1)*x(2)+m*x(2)-b*x(1),a*x(1)*x(2)-b*x(2)-m*x(2),b*x(1)+b*x(2)]';
这个是执行部份
ts=0:0.1:50;
x0=[0.98,0.02,0.00];
[t,x]=ode45('testf',ts,x0);
plot(t,x(:,2),'b-'),grid,
这个是画的二维函数图,我想问一下,怎么把m作为参数传入函数,然后做m,t,和x(2)的三维函数,可能还有些问题,希望有缘人可以帮我
matlab函数如何传入参数这个是函数部分function y=testf(t,x)a=0.8;m = 0.01;b=0.1;y=[-a*x(1)*x(2)+m*x(2)-b*x(1),a*x(1)*x(2)-b*x(2)-m*x(2),b*x(1)+b*x(2)]';这个是执行部份ts=0:0.1:50;x0=[0.98,0.02,0.00]; [t,x]=ode45('testf',ts,x0);plot
函数定义时,多加一个参数m
function y=testf(t,x,m)
a=0.8;m = 0.01;b=0.1;
y=[-a*x(1)*x(2)+m*x(2)-b*x(1),a*x(1)*x(2)-b*x(2)-m*x(2),b*x(1)+b*x(2)]';
执行部分
ts=0:0.1:50;
x0=[0.98,0.02,0.00];
mm=1:0.1:50; %不同的m取值,根据需要自己改
result=zeros(length(ts),length(m));
for i=1:length(mm)
m=mm(i);
[t,x]=ode45(@(t,x) testf(t,y,m),ts,x0);
result(:,i)=x(:,2);
end
imagesc(mm,ts,result);%画二维图