电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

常微分方程数值解法

常微分方程数值解法_第1页
1/7
常微分方程数值解法_第2页
2/7
常微分方程数值解法_第3页
3/7
常微分方程数值解法(4 页)Good is good, but better carries it.精益求精,善益求善。常微分方程数值解法【作用】微分方程建模是数学建模的重要方法,因为许多实际问题的数学描述将导致求解微分方程的定解问题。把形形色色的实际问题化成微分方程的定解问题,大体上可以按以下几步:1. 根据实际要求确定要讨论的量(自变量、未知函数、必要的参数等)并确定坐标系。2. 找出这些量所满足的基本规律(物理的、几何的、化学的或生物学的等等)。3. 运用这些规律列出方程和定解条件。 基本模型1.发射卫星为什么用三级火箭2.人口模型3.战争模型4.放射性废料的处理通常需要求出方程的解来说明实际现象,并加以检验。假如能得到解析形式的解固然是便于分析和应用的,但是我们知道,只有线性常系数微分方程,并且自由项是某些特别类型的函数时,才可以得到这样的解,而绝大多数变系数方程、非线性方程都是所谓“解不出来”的于是对于用微分方程解决实际问题来说,数值解法就是一个十分重要的手段。1. 改进 Euler 法:2. 龙格—库塔(Runge—Kutta)方法:【源程序】1. 改进 Euler 法:function [x,y]=eulerpro(fun,x0,x1,y0,n);%fun 为函数,(x0,x1)为 x 区间,y0 为初始值,n 为子区间个数if nargin<5,n=50;endh=(x1-x0)/n;x(1)=x0;y(1)=y0;for i=1:nx(i+1)=x(i)+h;y1=y(i)+h*feval(fun,x(i),y(i));y2=y(i)+h*feval(fun,x(i+1),y1);y(i+1)=(y1+y2)/2;end调用 command 窗口f=inline('-2*y+2*x^2+2*x')[x,y]=eulerpro(f,0,0.5,1,10)求解函数 y'=−2y+2+2x ,(0 ≤ x ≤ 0.5), y(0) = 12. 龙格—库塔(Runge—Kutta)方法:[t,y]=solver('F',tspan,y0)这里solver为ode45,ode23,ode113,输入参数 F 是用M文件定义的微分方程y'= f (x, y)右端的函数。tspan=[t0,tfinal]是求解区间,y0是初值。注:ode45和ode23变步长的,采纳Runge-Kutta算法。ode45 表示采纳四阶-五阶 Runge-Kutta 算法,它用 4 阶方法提供候选解,5 阶方法控制误差,是一种自适应步长(变步长)的常微分方程数值解法,其整体截断误差为(Δx)^5。解决的是 Nonstiff(非刚性)常微分方程。ode45 是解决数值解问题的首选方法,若长时间没结果,应该就是刚性的,可换用 ode23 试试例如: odefun=@(t,y) (y+3*t)/t^2; %定义函数tspan=[1 4]; %求解区间y0=-2; %初值[t,y]=ode45(odefun,tspan,y0);plot(t,y) %作图title('t^2y''=y+3t,y(1...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

常微分方程数值解法

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部