您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页Euler方法解初值问题

Euler方法解初值问题

来源:化拓教育网


Euler方法解初值问题编程

一、题目

用Euler方法解初值问题:

y'=-2xy y(0)=0 (0≤x≤1.8)

取步长h=0.1,问题的精确解为ye.求初值问题数值解,估计误差,并将计算结果与精确解作比较(列表、作图).

x2二、程序

1.M-文件

Euler.m

x=0;n=0;y=1; h=0.1;

x_(1)=x;y_(1)=y;

y_exact(1)=exp(-x_(n+1)^2); error_(n+1)=abs(y_exact(1)-y);

fprintf('x_(i) y_(i) y_exact(i) error_(i)\\n')

fprintf(' %2.1f %8.4f %8.4f %8.4f\\n', x_(1),y_(1),y_exact(1),error_(1)) while x<=1.8 n=n+1;

y=y+h*((-2)*x*y); x=x+h;

y_(n+1)=y; x_(n+1)=x;

y_exact(n+1)=exp(-x_(n+1)^2); error_(n+1)=abs(y_exact(n+1)-y); fprintf(' %2.1f %8.4f %8.4 %8.4f\\n', x_(n+1),y_(n+1),y_exact(n+1),error_(n+1)) end

plot(x_,y_,'ro',x_,y_exact,'b*')

命令窗口输入

>> Euler

3.结果 1)表

x_(i) y_(i) y_exact(i) error_(i) 2.matlab ( 0.0 1.0000 1.0000 0.0000 0.1 1.0000 0.9900 0.0100 0.2 0.9800 0.9608 0.0192 0.3 0.9408 0.9139 0.0269 0.4 0.8844 0.8521 0.0322 0.5 0.8136 0.7788 0.0348 0.6 0.7322 0.6977 0.0346 0.7 0.44 0.6126 0.0317 0.8 0.52 0.5273 0.0269

0.9 0.4655 0.4449 0.0206 1.0 0.3817 0.3679 0.0138 1.1 0.30 0.2982 0.0072 1.2 0.2382 0.2369 0.0013 1.3 0.1810 0.1845 0.0035 1.4 0.1340 0.1409 0.0069 1.5 0.09 0.10 0.0090 1.6 0.0675 0.0773 0.0098 1.7 0.0459 0.0556 0.0097 1.8 0.0303 0.0392 0.00 (2)图

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务