[問題] 關於非線性ODE解法 已回收

看板MATLAB作者 (趴趴熊)時間15年前 (2010/10/14 02:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
請問一下 我在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
文章代碼(AID): #1CjVjK6k (MATLAB)
文章代碼(AID): #1CjVjK6k (MATLAB)