引言
ode的全稱是Ordinary differential equations(常微分方程)的縮寫。
ode45就是一種常微分方程求解器,這種求解器采用的是Runge-Kutta解法的 中階 解法;
ode45即Nonstiff(非剛性問題)微分方程式。
注意:大部分情況下,都需要先把高階微分方程變換成一階微分方程組的形式進行求解。
這也解釋了現代控制理論建立在狀态空間方程上的原因。
執行個體
假設要解下面這個微分防方程:

我們把這個Second order differential equation(二階微分方程)改寫乘一階微分方程組的形式。
令
則。
ode45這個微分方程求解器的用法如下:
我們編寫如下代碼,把微分方程寫出來。
這裡的
我們令
為1,是以
寫成代碼即為如下所示:
function dy = odeBai(t,y)
dy = zeros(2,1);
dy(1) = y(2);
dy(2) = (1 - y(1) * y(1)) * y(2) - y(1);
end
matlab代碼
然後就調用求解器求解這個微分方程:
[t,y] = ode45(@odefun,[0 20],[2; 0]);
第二個參數是仿真時間範圍,就是從0秒到20秒。
第三個參數是狀态初值,即初始時間dy=2,ddy=0;
參考文獻
1.matlab幫助文檔