精華區beta MATLAB 關於我們 聯絡資訊
※ 引述《[email protected] (蛋餅)》之銘言: : dx/dt=a(t)x+b(t)y+c(t) : dy/dt=e(t)x+f(t)y+g(t) : 解 x(t)=? y(t)=? : a到g皆為t的已知複雜函數 : 3q 3q ode的.m檔: ------------------------------ function dy=F(t,y) dy(1)=a(t)*y(1)+b(t)*y(2)+c(t) dy(2)=e(t)*y(1)+f(t)*y(2)+g(t) 主程式: (假設你要找的範圍在t=m到t=n之間,y0表示initial value of [y(1);y(2)] ) ------------------------------ [T,Y]=ode45('F',[m n],y0) ※以上,將你的a,b,c,d,e,f,g等六個函數用MATLAB的語法寫出來,套進去即可 ※a,b,c,d,e,f,g更可以包含y(1)、y(2) 即所謂的非線性方程式 ※時間範圍[m n]中 m並不一定要小於n ※不一定要用ode45,當你的方程式是stiff problem時,  使用ode45、ode23這種以Runge-Kutta Method為主要操作原理的m檔解stiff problem 時,執行時會等很久,所以你可先用ode45,等很久還沒算完時可改用像是  ode15s、ode23s這兩個 可用來解某些stiff problem,而它們的用法是與  ode45一樣的 --    CCC AA TTTTT cylinder. 1999.   C   C   A  A   C       A   A There is sunny melody   C    A A all over the world.   C   C AAAAA Make the most effort    CCC A A for my love. -- ※ 發信站: 批踢踢實業坊(ptt.twbbs.org) ◆ From: ccsun6.ee.ntu.e