一阶常微分方程的初值问题
1.欧拉方法
欧拉公式:
算法(欧拉方法)
(1)给定整数 N;
(
2
) ;
(
3
)
(
4
)对
k=2,3,…N+1
做:
(5)返回
基于欧拉方法的 Matlab 程序如下:
function [x,y]=odeEuler(f,y0,a,b,h)
n=(b-a)/h;
x=a:h:b;
y(1)=y0;
for i=1:n
y(i+1)=y(i)+h*feval(f,x(i),y(i));
end
2.改进的欧拉公式:
算法(改进欧拉方法):
(1) 给定整数N;
(2)
;
(3)
(4)
对
k=2,3,…N+1
做:
评论0