[問題] 關於非線性ODE解法 已回收
請問一下
我在m檔裡輸入的code為
function du=mck(t,u)
du=zeros(2,1);
du(1)=u(2);
du(2)=-30*u(1)-u(2)^0.3;
在main program的地方是輸入
>> dt=0.005;n=2000;tspan=linspace(dt,(n-1)*dt,n);
>> [t,z]=ode45(@mck,tspan,[0.2 0])
跑出來的z,因為有i值
所以我將i值去除後,來檢查一下結果
後來發現值會超出-0.2
如圖http://img72.imageshack.us/img72/6047/10453283.jpg

換句話說,我初始值u(0)=0.2 照理論來說 裡面的值加絕對值後
不可能>0.2,請問這是我code有寫錯,還是用錯解法器呢?
不知怎麼修正這個code 感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.218.73
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章
-10
17