常微分方程课程设计课件(完整版).ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Euler 折线法源程序 clear f=sym(y+2*x/y^2); a=0; b=2; h=0.4; n=(b-a)/h+1; % n=(b-a)/h; x=0; y=1; szj=[x,y]; for i=1:n-1 % i=1:n y=y+h*subs(f,{‘x’,‘y’},{x,y});%第一次代初值 x=x+h; szj=[szj;x,y]; end szj plot(szj(:,1),szj(:,2),or-) 最新.课件 * Euler折线法举例(续) 解析解: 解析解 近似解 最新.课件 * Runge-Kutta 方法 为了减小误差,可采用以下方法: 让步长 h 取得更小一些; 改用具有较高精度的数值方法: 龙格-库塔方法 Runge-Kutta (龙格-库塔) 方法 是一类求解常微分方程的数值方法 有多种不同的迭代格式 最新.课件 * Runge-Kutta 方法 用得较多的是 四阶R-K方法(教材第 79 页) 其中 最新.课件 * 四阶 R-K 方法源程序 clear; f=sym(y+2*x/y^2); a=0; b=2; h=0.4; n=(b-a)/h+1; % n=(b-a)/h; x=0; y=1; szj=[x,y]; for i=1:n-1 % i=1:n l1=subs(f,{x,y},{x,y}); l2=subs(f,{x,y},{x+h/2,y+l1*h/2}); l3=subs(f,{x,y},{x+h/2,y+l2*h/2}); l4=subs(f,{x,y},{x+h,y+l3*h}); y=y+h*(l1+2*l2+2*l3+l4)/6; x=x+h; szj=[szj;x,y]; end plot(szj(:,1),szj(:,2), dg-) 最新.课件 * Runge-Kutta 方法 最新.课件 * Euler 法与 R-K法误差比较 最新.课件 * Matlab 解初值问题 用 Maltab自带函数 解初值问题 求解析解:dsolve 求数值解: ode45、ode23、 ode113、ode23t、ode15s、 ode23s、ode23tb 最新.课件 * dsolve 求解析解 dsolve 的使用 y=dsolve(eq1,eq2, ... ,cond1,cond2, ... ,v) 其中 y 为输出, eq1、eq2、...为微分方程,cond1、cond2、...为初值条件,v 为自变量。 例 1:求微分方程 的通解,并验证。 y=dsolve(Dy+2*x*y=x*exp(-x^2),x) syms x; diff(y)+2*x*y - x*exp(-x^2) y = 1/2*exp(-x^2)*x^2+exp(-x^2)*C1 最新.课件 * dsolve 的使用 几点说明 如果省略初值条件,则表示求通解; 如果省略自变量,则默认自变量为 t dsolve(Dy=2*x,x); % dy/dx = 2x dsolve(Dy=2*x); % dy/dt = 2x 若找不到解析解,则返回其积分形式。 微分方程中用 D 表示对 自变量 的导数,如: Dy y; D2y y; D3y y 最新.课件 * dsolve 举例 例 2:求微分方程 在初值条件 下的特解,并画出解函数的图形。 y=dsolve(x*Dy+y-exp(x)=0,y(1)=2*exp(1),x) ezplot(y); 最新.课件 * dsolve 举例 例3:求微分方程组 在初值条件 下的特解,并画出解函数的图形。 [x,y]=dsolve(Dx+5*x+y=exp(t),Dy-x-3*y=0, ... x(0)=1, y(0)=0, t) ezplot(x,y,[0,1.3]); 最新.课件 * dsolve 举例 例: [x,y]=dsolve(Dx+5*x=0,Dy-3*y=0, ... x(0)=1, y(0)=1,t) r = dsolve(Dx+5*x=0,Dy-3*y=0, ... x(0)=1, y(0)=1,t) 这里返回的 r 是一个 结构类型

文档评论(0)

liuxiaoyu98 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档