函数文件function dr=pen(t,x,flag,F)dr=[x(2);-0.5*x(2)-sin(x(1))+F*cos(2/3*t)];-----------------------------------------------------------脚本文件hold on;N=80;for F=0.96:0.01:1.52for n=1:N[t,x]=ode45('pen',[0,66],[0,0.6],[ ],F);T(n)=x(end,2);endplot(F*ones(1,N),T,'.','markersize',1)end注: 此程序运行时间有点长
1 回答
米脂
TA贡献1836条经验 获得超3个赞
1、从现有代码看,flag这个变量没起任何作用。
2、由于函数pen的参数表里面有flag,但调用ode45的时候并未提供该参数,所以调用会出错。
改正的做法是,或者把
1 | function dr=pen(t,x,flag,F) |
改为
1 | function dr=pen(t,x,F) |
或者把
1 | [t,x]=ode45(@pen,[ 0 , 66 ],[ 0 , 0.6 ],[ ],F); |
改为
1 | [t,x]=ode45(@pen,[ 0 , 66 ],[ 0 , 0.6 ],[ ],[],F); |
3、看不出里面的那个for循环有任何意义,因为运行N次的结果都完全相同。
- 1 回答
- 0 关注
- 1418 浏览
添加回答
举报
0/150
提交
取消