※ 引述《[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 T
C A A T There is sunny melody
C A A T all over the world.
C C AAAAA T Make the most effort
CCC A A T for my love.
--
※ 發信站: 批踢踢實業坊(ptt.twbbs.org)
◆ From: ccsun6.ee.ntu.e