ImageVerifierCode 换一换
格式:DOCX , 页数:53 ,大小:180.52KB ,
资源ID:21103493      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21103493.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(十常微分方程组求解Word下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

十常微分方程组求解Word下载.docx

1、的数值解,分别取,并计算误差,画出精确解和数值解的图形.解 编写并保存名为Eulerli1.m的MATLAB计算和画图的主程序如下function P=Eulerli1(x0,y0,b,hn=(b-x0/h。 X=zeros(n,1Y=zeros(n,1 k=1。X(k=x0。 Y(k=y0。for k=1:nX(k+1=X(k+h。Y(k+1=Y(k+h*(X(k-Y(k k=k+1。endy=X-1+2*exp(-X plot(X,Y,mp,X,y,b-gridxlabel(自变量 X, ylabel(因变量 Ytitle(用向前欧拉公式求dy/dx=x-y,y(0=1在0,1上的数值解和

2、精确解y=x-1+2 exp(-xlegend(h=0.075时,dy/dx=x-y,y(0=1在0,1上的数值解精确解y=x-1+2 exp(-xjwY=y-Y。xwY=jwY./y。k1=1:n。k=0,k1。P=k,X,Y,y,jwY,xwY。在MATLAB工作窗口输入下面的程序x0=0。y0=1。b=1。h=0.0750。P=Eulerli1(x0,y0,b,hh1=0.0075。 P1=Eulerli1(x0,y0,b,h1h1=0.0075时,dy/dx=x-y,y(010.3.2 向前欧拉方法的三种MATLAB程序(一 向前欧拉公式的MATLAB主程序1用向前欧拉公式10.8)求

3、解常微分方程初值问题x=x0。 h=(b-x/n。 y=y0。 X(k=x。=yfor k=2:n+1 fxy=feval(funfcn,x,ydelta=norm(h*fxy,inf wucha=tol*max(norm(y,1.0if delta=wuchax=x+h。 y=y+h*fxy。Y(kplot(X,Y,rplabel(用向前欧拉,y(x0=y0在x0,b上的数值解P=X,Y。syms dy2,REn=0.5*dy2*h2。例10.3.2 用向前欧拉公式 x0=0。b=1-1.e-4。n=100。tol=1.e-4。h1,k1,x1,Y1,P1,Ren1=QEuler1(funf

4、cn,x0,y0,b,n,tolhold onS1= 8/3*x1-29/9+38/9*exp(-3*x1, plot(x1,S1,用向前欧拉公式计算dy/dx=8x-3y-7,y(0n=100时,dy/dx=8x-3y-7,y(0 dy/dx=8x-3y-7,y(0=1在0,1上的精确解hold offjdwuc1=S1-Y1。 jwY1=S1-Y1。xwY1=jwY1./S1。P1=k,x1,Y1,S1,jwY1,xwY1subplot(2,1,2n1=10。 h2,k2,x2,Y2,P2,Ren2=QEuler1(funfcn,x0,y0,b,n1,tolS1 = 8/3*x2-29/9

5、+38/9*exp(-3*x2, plot(x2,S1,n=10时,dy/dx=8x-3y-7,y(0jwY2=S1-Y2。xwY2=jwY2./S1。n1。 P2=k,x2,Y2,S1,jwY2,xwY2运行后屏幕显示分别取时,所给的初值问题在上的自变量的值构成的数组Xi (i=1,2,利用向前欧拉公式对应的数值解Yi(i=1, 2,Yi的绝对误差jwYi (i=1,2和相对误差xwYi (i=1,2 向前欧拉公式的MATLAB主程序210.5)的数值解及其截断误差公式的MATLAB主程序2function k,X,Y,P,REn=Qeuler2(funfcn,x0,y0,b,h n=fix

6、(b-x/hX=zeros(n+1,1Y=zeros(n+1,1=x+(k-1*h,fxy=feval(funfcn,x,y, =y+h*fxyy=Y(k, k=k+1,plot(X,Y,grid,xlabel( P=k,X,Y。例10.3.4 用向前欧拉公式S1=1/6*(6+12*X+30*exp(2*X.(1/2 plot(X,S1,用向前欧拉公式计算dy/dx=y-x/(3y,y(0=1在0,2上的数值解n=10时,dy/dx=y-x/(3y dy/dx=y-x/(3y=1在0,2上的精确解jdwucY=S1-Y。 jwY=S1-Y。xwY=jwY./Y。,X,Y,S1,jwY,xwY

7、n1=100。h1=2/100。k,X1,Y1,P1,Ren1=Qeuler2(funfcn,x0,y0,b,h1S2=1/6*(6+12*X1+30*exp(2*X1 plot(X1,S2,n=100时,dy/dx=y-x/(3yjwY1=S2-Y1。xwY1=jwY1./Y1。P2=k,X1,Y1,S2,jwY1,xwY1运行后屏幕显示取时,此初值问题在的向量X,X1,利用向前欧拉公式10.8)求出的与X,X1对应的数值解Y,Y1及其绝对误差向量jwY,jwY1和相对误差向量xwY,xwY1 自适应向前欧拉公式的MATLAB主程序用自适应向前欧拉公式求解常微分方程初值问题%初始化.pow=

8、1/3。if nargin tol = 1.e-6。end。 6 | isempty(tracetrace = 0。 h=0.0078125*(b-x y=y0(:p=128。 H=zeros(p,1X=zeros(p,1 Y=zeros(p,length(y Y(k,:% 绘图.clc,x,h,y % 主循环.while (x&(x+hx if x+hbh=b-x。 end %计算斜率. fxy=fxy(:%计算误差,设定可接受误差.% 当误差可接受时重写解.if deltalength(XX=X。zeros(p,1。 Y=Y。zeros(p,length(yH=H。H(k=h。Y(k,:,

9、 grid%更新步长.if delta=0.0h=min(h*8,0.9*h*(wucha/deltapowif (xX=X(1:Y=Y(1:k,:n=1:k。 P=n,H,X,Y10.3.4 向后欧拉方法的MATLAB程序用向后欧拉方法求解常微分方程初值问题n=fix(b-x0 X=zeros(n+1,1 Y=zeros(n+1,1k=1。 Y1(k,:clc,x0,h,y0 % 产生初值.for i=2:X(i=x0+h。 Y(i,:=y0+h*feval(funfcn,x0,y0Y1(i,:=y0+h*feval(funfcn,X(i,Y(i,:Wu=abs(Y1(i,:-Y(i,:wh

10、ile Wutol p=Y1(i,:,pY(i,:=p。x0=x0+h。 y0=Y1(i,:rogrid on用向后欧拉公式计算dy/dx=f(x,yn+1 Y=Y(1:n+1,: n=1:n+1。,X,Y例10.3.6 用向后欧拉公式求解区间上的初值问题的数值解,取步长,并与精确解作比较,在同一个坐标系中作出图形.然后再取,观察数值解与精确解误差的变化,说明与误差的关系.解输入程序S1=dsolve(Dy=8*x-3*y-7y(0=1xtol=1.e-1。h1=0.01。X1,Y1,n,P1=Heuler1(funfcn,x0,b,y0,h1,tolS2= 8/3*X1-29/9+38/9*

11、exp(-3*X1, plot(X1,S2,h=0.01用向后欧拉公式计算dy/dx=8x-3y-7,y(0dy/dx=8x-3y-7,y(0juwY1=S2-Y1。xiwY1=juwY1./Y1。L=P1,S2,juwY1,xiwY1h=0.05。X,Y,n,P=Heuler1(funfcn,x0,b,y0,h,tolS1 = 8/3*X-29/9+38/9*exp(-3*Xplot(X,S1,h=0.05用向后欧拉公式计算dy/dx=8x-3y-7,y(0juwY=S1-Y。xiwY=juwY./Y。L=P,S1,juwY,xiwY运行后屏幕显示用向后欧拉公式计算此初值问题在0,2上的自变

12、量X处数值解Y和精确解S1及其图形,步长H, Y的相对误差xiwY和绝对误差juwY(略 .10.4 改进的欧拉方法的MATLAB程序10.4.2 梯形公式的两种MATLAB程序(一) 梯形公式的MATLAB程序用梯形公式求解常微分方程初值问题n+1 fx0y0=feval(funfcn,x0,y0=y0+h*fx0y0。fxiyi=feval(funfcn,X(i=y0+h*(fxiyi+fx0y0/2。fxip=feval(funfcn,X(i=y0+h*(fx0y0+fxip/2,P1=Y1(i,:, Y(i,:=p1。用梯形公式计算dy/dx=f(x,y例10.4.1 用梯形公式求解区

13、间,取步长,精度为,并与精确解作比较,在同一个坐标系中画出图形. b=2。 tol=0.1。 h=0.05。X,Yt,n,Pt=odtixing1(funfcn,x0,b,y0,h,tolS1=8/3*X-29/9+38/9*exp(-3*X, hold offh=0.05,用梯形公式计算dy/dx=8x-3y-7,y(0juwYt=S1-Yt。 xiwYt=juwYt./Yt。 Lt=Pt,S1,juwYt,xiwYt运行后屏幕显示取精度为,分别用梯形公式和向前欧拉公式求解此初值问题在区间上的自变量X处数值解Yi(i=t,q和精确解S1,步长H, Yi的相对误差xiwYi和绝对误差juwYi

14、(略 及其数值解和精确解的图形. 自适应梯形公式的MATLAB程序用自适应梯形公式求解常微分方程初值问题 n=fix(b-x0if x+h%计算斜率. y1=y+h*fxy。 fxy1=feval(funfcn,x,y1y2=y+h*fxy1。 y=(y1+y2go用自适应梯形公式计算dy/dx=f(x,y例10.4.2 分别用自适应梯形公式和向前欧拉公式分别求解区间,取精度为,并与精确解作比较,在同一个坐标系中作出图形. tol=1.e-1。Ht,X,Yt,k,h,Pt= odtixing2(funfcn,x0,b,y0,tol,hold on,Hq,X,Yq,k,h,Pq=QEuler(funfcn,x0,b,y0,tol用自适应梯形公式计算dy/dx=8x-3y-7,y(0dy/dx= 8x-3y-7, y(0用自适应梯形公式计算dy/dx=8x-3y-7,y(0和精确解S1及其图形,步长H等 (略.10.4.4 改进的欧拉公式的MATLAB程序用自适应改进的欧拉公式求解常微分方程初值问题 trace = 0。y=y0(:H=zeros(p,1 X=zeros(p,1Y=

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1