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/11/28 18:07:45
matlab函数如何传入参数这个是函数部分functiony=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

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);%画二维图