二阶常微分方程的数值求解优秀课件_第1页
二阶常微分方程的数值求解优秀课件_第2页
二阶常微分方程的数值求解优秀课件_第3页
二阶常微分方程的数值求解优秀课件_第4页
二阶常微分方程的数值求解优秀课件_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1二阶常微分方程的数值求解二阶常微分方程的数值求解一一. 教学要求教学要求 掌握利用降阶把二阶常微分方程转化为一阶微分方程组,再利用Euler方法数值求解,并能利用MATLAB软件进行数值计算和符号运算。二二. 教学过程教学过程2q 考虑如下的二阶微分方程考虑如下的二阶微分方程初值问题初值问题2012( , ,) , ( ) , ( ), , d yf x y yy ayy ayxa bdx 100( )( ), , ( )( , ( ), ( ), , ( ), ( )yxz xxa bzxf x y x z xxa bz ayzy ay 3q利用利用Euler方法求解上述方程组可得如下数方

2、法求解上述方程组可得如下数值格式值格式001111 2( ),( ),(,),.kkkkkkkkkky ayy azyyhzzzhf xyzkxxh 4q利用四阶利用四阶R-K方法求解上述方程组可得如下方法求解上述方程组可得如下数值格式数值格式11234112341121211323224343322622622222222(),(),(,),(,),(,),(,).kkkkkkkkkkkkkkkkkkkkhyyKKKKhzzLLLLKzLf xyzhhhhKzLLf xyK zLhhhhKzLLf xyKzLkKzhLLf xh yhKzhL 1 2, 5例例1:用用 Euler 法求解如下

3、初值问题法求解如下初值问题220 20101 , ( ),( )d yyxdxyy 当当 h=0.1,即,即 n=20 时,时,Matlab 源程序见源程序见 Euler_sys1.m解:解:00 20 20101,( )( ), , ( )( ), , ( ), ( ).令则该初值问题可以转化为zyyxz xxzxy xxzzy 6clc;clear;h=0.1;a=0;b=2;x=a:h:b;y(1)=1;z(1)=-1;for i=1:length(x)-1 y(i+1)=y(i)+h*z(i); z(i+1)=z(i)+h*y(i);endplot(x,y,r+,x,exp(-x),k

4、-);xlabel(Variable x); ylabel(Variable y); Euler_sys1.m7数值解与真解如下图数值解与真解如下图8例例2:利用利用4阶阶R-K方法求解例方法求解例1,并与,并与Euler方法方法进行比较。进行比较。解解 当当 h=0.1,即,即 n=20 时,时,R-K方法的方法的Matlab 源程序见源程序见 RK_sys1.m,数值结果见下图,数值结果见下图9function w=rightf_sys1(x,y,z) w=y;clc;clear;h=0.1;a=0;b=2;x=a:h:b;Euler_y(1)=1; Euler_z(1)=-1; %初值R

5、K_y(1)=1; RK_z(1)=-1; %初值for i=1:length(x)-1 %* Euler Method *% Euler_y(i+1)=Euler_y(i)+h*Euler_z(i); Euler_z(i+1)=Euler_z(i)+h*Euler_y(i); %* R-K4 Method*% K1=RK_z(i); L1=rightf_sys1(x(i),RK_y(i),RK_z(i); % K1 and L1 K2=RK_z(i)+0.5*h*L1; rightf_sys1.mRK_sys1.m10L2=rightf_sys1(x(i)+0.5*h,RK_y(i)+0.5

6、*h*K1,RK_z(i)+0.5*h*L1); % K2 and L2 K3=RK_z(i)+0.5*h*L2; L3=rightf_sys1(x(i)+0.5*h,RK_y(i)+0.5*h*K2,RK_z(i)+0.5*h*L2); % K3 and L3 K4=RK_z(i)+h*L3; L4=rightf_sys1(x(i)+h,RK_y(i)+h*K3,RK_z(i)+h*L3); % K4 and L4 RK_y(i+1)=RK_y(i)+1/6*h*(K1+2*K2+2*K3+K4); RK_z(i+1)=RK_z(i)+1/6*h*(L1+2*L2+2*L3+L4); end

7、plot(x,Euler_y,r+,x,exp(-x),k-,x,RK_y,b*);xlabel(Variable x); ylabel(Variable y); 11例例3:分别用分别用 Euler 法和法和R-K4求解如下初值问题求解如下初值问题22210 20101 () , ( ),( )xd yyexxdxyy 解:解:00 2210 20101,( )( ), , ( )( )(), , ( ), ( ).令则该初值问题可以转化为xzyyxz xxzxy xexxzzy 12当当 h=0.1,即,即 n=20 时,时,Matlab 源程序见源程序见 RK_sys2.m, 数值结数值

8、结果如下图果如下图13function w=rightf_sys2(x,y,z)w=-y+2*exp(-x)*(x-1);clc;clear;h=0.1;a=0;b=2;x=a:h:b;Euler_y(1)=1; Euler_z(1)=1; RK_y(1)=1; RK_z(1)=1; for i=1:length(x)-1%* Euler Method *% Euler_y(i+1)=Euler_y(i)+h*Euler_z(i); Euler_z(i+1)=Euler_z(i)+h*rightf_sys2(x(i),Euler_y(i),Euler_z(i); %* R-K4 Method*

9、% K1=RK_z(i); L1=rightf_sys2(x(i),RK_y(i),RK_z(i); % K1 and L1 rightf_sys1.mRK_sys2.m14K2=RK_z(i)+0.5*h*L1; L2=rightf_sys2(x(i)+0.5*h,RK_y(i)+0.5*h*K1,RK_z(i)+0.5*h*L1); % K2 and L2 K3=RK_z(i)+0.5*h*L2; L3=rightf_sys2(x(i)+0.5*h,RK_y(i)+0.5*h*K2,RK_z(i)+0.5*h*L2); % K3 and L3 K4=RK_z(i)+h*L3; L4=rig

10、htf_sys2(x(i)+h,RK_y(i)+h*K3,RK_z(i)+h*L3); % K4 and L4 RK_y(i+1)=RK_y(i)+1/6*h*(K1+2*K2+2*K3+K4); RK_z(i+1)=RK_z(i)+1/6*h*(L1+2*L2+2*L3+L4); endplot(x,Euler_y,r+,x,cos(x)+x.*exp(-x),k-,x,RK_y,b*);xlabel(Variable x); ylabel(Variable y); 15q dsolve 的调用格式的调用格式y=dsolve(eq1,eq2, . ,cond1,cond2, . ,v)其中其

11、中 y 为输出,为输出, eq1、eq2、.为微分方程,为微分方程,cond1、cond2、.为初值条件,为初值条件,v 为自变量,如果不指定为自变量,如果不指定v作为自变作为自变量,则默认量,则默认t为自变量。为自变量。例例 4:求微分方程求微分方程 的通解,并验证。的通解,并验证。22xdyxyxedx y=dsolve(Dy+2*x*y=x*exp(-x2),x) syms x; diff(y)+2*x*y - x*exp(-x2)q利用利用dsolvedsolve 函数求微分方程解析解函数求微分方程解析解16q 几点说明几点说明l 如果省略初值条件,则表示求通解;如果省略初值条件,则表

12、示求通解;l 如果省略自变量,则默认自变量为如果省略自变量,则默认自变量为 t dsolve(Dy=2*x,x); dy/dx = 2xdsolve(Dy=2*x); dy/dt = 2xl 若找不到解析解,则返回其积分形式。若找不到解析解,则返回其积分形式。l 微分方程中用微分方程中用 D 表示对表示对 自变量自变量 的导数,如:的导数,如:Dy y; D2y y; D3y y17例例 5:求微分方程求微分方程 在初值条件在初值条件 下的特解,并画出解函数的图形。下的特解,并画出解函数的图形。0 xxyye y=dsolve(x*Dy+y-exp(x)=0,y(1)=2*exp(1),x) ezplot(y);12( )ye 182220100cos()( ),( )求二阶常微分方程的通解d yxydxyy 例例 6在在MatlabMatlab中的命令窗口中输入下面的命令中的命令窗口中输入下面的命令 syms x y S=dsolve(D2y=cos(2*x)-y,y(0)=1,Dy(0)=0,x)则可以得到如下的结果则可以得到如下的结果

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论