您好,欢迎访问三七文档
欧拉法的应用1.问题背景在工程当中,我们所建立的方程一般都是微分方程,对于其求解非常重要,但是其求解又很难求得精确解,精确解也并不是我们所需要的。我们可以求得近似解。我们采用欧拉法来求解一阶常微分方程。2.数学模型一阶常微分方程如下式所示:3.算法及流程a.对于初值问题,先将其离散化,即把[a,b]区间n等分,得各离散节点,nabhniihaxi其中),2,1,0(b.由上一点推出下一点的值,逐渐推导到n点。公式如下:)1,2,1,0(),(1niyxhfyyiiiic.最终可以计算出终点的近似值matlab程序为:clc;clear;symsxsymsy0)(),(),,(yaybaxyxfdxdyfun=input('请输入常微分函数右侧表达式=');xinit=input('请输入初始点x0=');yint=input('请输入初始点y0=');xfinal=input('请输入求值点xfianl=');n=input('请输入划分区间个数n=');f=inline(fun);h=(xfinal-xinit)/n;x=zeros(1,n+1);y=zeros(1,n+1);x(1)=xinit;y(1)=yintfori=1:nx(i+1)=x(i)+h;y(i+1)=y(i)+h*f(x(i),y(i));endT=[x',y']y(n+1)plot(x,y)4.计算结果及分析请输入常微分函数右侧表达式=y-2*x/y请输入初始点x0=0请输入初始点y0=1请输入求值点xfianl=1请输入划分区间个数n=10T=01.00000.10001.10000.20001.19180.30001.27740.40001.35820.50001.43510.60001.50900.70001.58030.80001.64980.90001.71781.00001.7848ans=1.7848从图形结果可以看出,红色的点是每一步计算出来的点。求解精度并不高,并不能得到很好的解。这种算法还需要改进。所以后面出现了改进的欧拉法。
本文标题:欧拉法的应用
链接地址:https://www.777doc.com/doc-2306720 .html