
展开全部
改进欧拉
1.函数
function[x,y]=eulerpro(fun,x0,xfinal,y0,n)
if nargin<5
n=50;
end
h=(xfinal-x0)/n;%步
x(1)=x0;y(1)=y0;
for i=1:n
x(i+1)=x(i)+h;
y1=y(i)+h*feval(fun,x(i),y(i));
y2=y(i)+h*feval(fun,x(i+1),y1);
y(i+1)=(y1+y2)/2;
end
end
2.函数
function f=doty(x,y)
f=cos(x*y);
end
3.主函数调用
[x,y]=eulerpro('doty',0,1,1,10)
1.函数
function[x,y]=eulerpro(fun,x0,xfinal,y0,n)
if nargin<5
n=50;
end
h=(xfinal-x0)/n;%步
x(1)=x0;y(1)=y0;
for i=1:n
x(i+1)=x(i)+h;
y1=y(i)+h*feval(fun,x(i),y(i));
y2=y(i)+h*feval(fun,x(i+1),y1);
y(i+1)=(y1+y2)/2;
end
end
2.函数
function f=doty(x,y)
f=cos(x*y);
end
3.主函数调用
[x,y]=eulerpro('doty',0,1,1,10)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询