函數文件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 關注
- 1482 瀏覽
添加回答
舉報
0/150
提交
取消