欢迎来到天天文库
浏览记录
ID:38076154
大小:50.00 KB
页数:4页
时间:2019-05-28
《MATLAB Euler法解常微分方程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、禁止复制北京石油化工学院OnlyunitedEuler法解常微分方程Euler法解常微分方程算法:Step1分别取积分上限、积分下限、步长Step2计算判断是否成立,成立转到Step3,否则继续进行Step4Step3计算Step4Euler法解常微分方程算程序:functioneuler2(fun,y0,A,h)%fun--y'%y0---初值%A----x取值范围%a----x左区间端点值%b----x右区间端点值%h----给定步长x=min(A);b=max(A);y=y0;whilex2、hb=y;y=y+h*feval(fun,x,b)x=x+h;end例:用Euler法计算下列初值问题(取步长h=0.2)输入:fun=inline('-y-x*y^2')euler2(fun,1,[00.6],0.2)得到:y=0.8000y=0.6144y=禁止复制北京石油化工学院Onlyunited0.4613指导教师:年月日改进Euelr法解常微分方程改进Euler法解常微分方程算法:Step1分别取积分上限、积分下限、步长Step2取一个以h为步长,a,b分别为左右端点的矩阵Step3(1)3、做显性Euler预测(2)将带入Step4计算判断是否成立,成立返回Step3,否则继续进行Step5Step5改进Euler法解常微分方程算程序:functiongaijineuler2(fun,y0,A,h)%fun--y'%y0---初值%A----x取值范围%a----x左区间端点值%b----x右区间端点值%h----给定步长a=min(A);b=max(A);x=a:h:b;y(1)=y0;fori=1:length(x)-1w1=feval(fun,x(i),y(i));y(i+1)=y4、(i)+h*w1;w2=feval(fun,x(i+1),y(i+1));y(i+1)=y(i)+h*(w1+w2)/2;endx=x'禁止复制北京石油化工学院Onlyunitedy=y'例:用改进Euler法计算下列初值问题(取步长h=0.25)输入:fun=inline('-x*y^2')gaijineuler2(fun,2,[05],0.25)得到:x=00.25000.50000.75001.00001.25001.50001.75002.00002.25002.50002.75003.0005、03.25003.50003.75004.00004.25004.50004.75005.0000y=2.00001.87501.59391.28241.00960.7932禁止复制北京石油化工学院Onlyunited0.62820.50370.40970.33790.28240.23890.20430.17650.15380.13520.11960.10660.09550.08610.0779指导教师:年月日
2、hb=y;y=y+h*feval(fun,x,b)x=x+h;end例:用Euler法计算下列初值问题(取步长h=0.2)输入:fun=inline('-y-x*y^2')euler2(fun,1,[00.6],0.2)得到:y=0.8000y=0.6144y=禁止复制北京石油化工学院Onlyunited0.4613指导教师:年月日改进Euelr法解常微分方程改进Euler法解常微分方程算法:Step1分别取积分上限、积分下限、步长Step2取一个以h为步长,a,b分别为左右端点的矩阵Step3(1)
3、做显性Euler预测(2)将带入Step4计算判断是否成立,成立返回Step3,否则继续进行Step5Step5改进Euler法解常微分方程算程序:functiongaijineuler2(fun,y0,A,h)%fun--y'%y0---初值%A----x取值范围%a----x左区间端点值%b----x右区间端点值%h----给定步长a=min(A);b=max(A);x=a:h:b;y(1)=y0;fori=1:length(x)-1w1=feval(fun,x(i),y(i));y(i+1)=y
4、(i)+h*w1;w2=feval(fun,x(i+1),y(i+1));y(i+1)=y(i)+h*(w1+w2)/2;endx=x'禁止复制北京石油化工学院Onlyunitedy=y'例:用改进Euler法计算下列初值问题(取步长h=0.25)输入:fun=inline('-x*y^2')gaijineuler2(fun,2,[05],0.25)得到:x=00.25000.50000.75001.00001.25001.50001.75002.00002.25002.50002.75003.000
5、03.25003.50003.75004.00004.25004.50004.75005.0000y=2.00001.87501.59391.28241.00960.7932禁止复制北京石油化工学院Onlyunited0.62820.50370.40970.33790.28240.23890.20430.17650.15380.13520.11960.10660.09550.08610.0779指导教师:年月日
此文档下载收益归作者所有