matlab求解微分方程ode23

1.ode23:

显式的单步Runge-Kutta低阶(2阶到3阶)解法。适用具有一定难度对精度要求不高,或者f(t,y)不平滑(非连续)的问题

[T, Y] = ode23(‘F’,Tspan,y0)
其中:
T:求解区域内离散数据
Y:求解区域内离散数据的对应数值解
‘F’ 是包括函数文件名字的字符串或函数句柄。函数F(t,y) 必须返回列向量
Tspan = [t0,tN]是常微分方程求解区域;或具体节点. 例:linspace(a,b,step)
y0是表示初始条件

例1:

function test 
[t,N]=ode23(@fun1,[1994,2020],12) 
plot(t,N,’o’)
function dfun=fun1(t,N) 
dfun=0.015*N;

例2:

[t,Y]=ode23('fox',[0,20],[100;20]); 
function z=fox(t,y) 
z(1,:)=y(1)-0.015*y(1).*y(2); 
z(2,:)=-y(2)+0.01*y(1).*y(2);

2.ode45:

显式的单步Runge-Kutta中阶(4阶到5阶) 解法。适用对精度有一定要求的非难度问题

你可能感兴趣的:(matlab,笔记)