matlab 向前欧拉公式,向前欧拉公式在Matlab解微分方程初值解的问题

向前欧拉公式在Matlab解微分方程初值解的问题0

00e27ab806e4881f8254fe7ae8741834.pngfuqilin1202013.07.04浏览527次分享举报

用向前欧拉公式(10.8)求解初值问题,dy/dx=-3x+8x-7,y(0)=1,分别取n=10,n=100,并将计算结果与精确解作比较,写出在每个子区间[xk,xk+1]上的局部截断误差公式,画出数值解与精确解在区间[0,1]上的图形.

主程序:

function [h,k,X,Y,P,REn]=Qeuler1(funfcn,x0,y0,b,n,tol)

x=x0; h=(b-x)/n; X=zeros(n,1); y=y0;

Y=zeros(n,1); k=1; X(k)=x; Y(k)=y';

for k=2:n+1

fxy=feval(funfcn,x,y);

delta=norm(h*fxy,'inf');

wucha=tol*max(norm(y,'inf'),1.0);

if delta>=wucha

x=x+h; y=y+h*fxy; X(k)=x;Y(k)=y';

end

plot(X,Y,'rp')

grid

label('自变量 X

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值