




已阅读5页,还剩61页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,MATLAB,2,MATLABODE初值问题的数值解PDE问题的数值解,3,问题提出倒葫芦形状容器壁上的刻度问题.对于如图所示圆柱形状容器壁上的容积刻度,可以利用圆柱体体积公式,其中直径D为常数.对于几何形状不是规则的容器,比如倒葫芦形状容器壁上如何标出刻度呢?下表是经过测量得到部分容器高度与直径的关系.,4,x,1,o,根据上表的数据,可以拟合出倒葫芦形状容器的图,建立如图所示的坐标轴,问题为如何根据任意高度x标出容器体积V的刻度,由微元思想分析可知,H00.81.0D0.040.110.260.561.041.17,其中x表示高度,直径D是高度x的函数,记为D(x).,5,只要求解上述方程,就可求出体积V与高度x之间的函数关系,从而可标出容器壁上容积的刻度,但问题是函数D(x)无解析表达式,无法求出其解析解.,因此,得到如下微分方程初值问题,6,包含自变量、未知函数及未知函数的导数或微分的方程称为微分方程。在微分方程中,自变量的个数只有一个,称为常微分方程。自变量的个数为两个或两个以上的微分方程叫偏微分方程。微分方程中出现的未知函数最高阶导数的阶数称为微分方程的阶数。,微分方程分类,7,常微分方程:,(1),(2)式称为初值问题.,在实际应用中还经常需要求解常微分方程组:,(3)式称为边值问题。,8,但能求解析解的常微分方程是有限的,大多数的常微分方程是给不出解析解的.,这个一阶微分方程就不能用初等函数及其积分来表达它的解。,例,例,的解,的值仍需插值方法来计算.,9,10,事实上,从实际问题当中抽象出来的微分方程,通常主要依靠数值解法来解决。,11,微分方程数值方法的基本思想对常微分方程初值问题的数值解法,就是要算出精确解y(x)在区间a,b上的一系列离散节点处的函数值,相邻两个节点的间距称为步长,步长可以相等,也可以不等。假定h为定数,称为定步长,这时节点可表示为,12,数值解法需要把连续性的问题加以离散化,从而求出离散节点的数值解。,离散化,对常微分方程数值解法的基本出发点就是离散化。其数值解法的基本特点:采用“步进式”,即求解过程顺着节点排列的次序一步一步地向前推进,,13,描述这类算法,要求给出用已知信息计算的递推公式。建立这类递推公式的基本方法是在这些节点上用数值积分、数值微分、泰勒展开等离散化方法,对初值问题,中的导数进行不同的离散化处理。,14,数值解和精确解,用数值方法求解初值问题,不是求出它的解析解或其近似解析式,而是给出它的解在某些离散节点上的近似值。,用y(x)表示问题的准确解,y(x0),y(x1),y(xN)表示解y(x)在节点x0,x1,xN处的准确值y0,y1,yN表示数值解,即问题的解y(x)在相应节点处的近似值。,15,单步法和多步法,单步法:在计算yi+1时只利用yi多步法:在计算yi+1时不仅利用yi,还要利用yi1,yi2,k步法:在计算yi+1时要用到yi,yi1,yik+1,显式格式可写成:yk+1=yk+hf(xk,yk;h)隐式格式:yk+1=yk+hf(xk,yk,yk+1;h)它每步求解yk+1需要解一个隐式方程。,16,欧拉(Euler)方法,在x=x0处,用差商代替导数:,由,得,17,同理,在x=xn处,用差商代替导数:,由,得,若记,则上式可记为,此即为求解初值问题的Euler方法,又称显式Euler方法。,18,例:用Euler方法求解常微分方程初值问题,并将数值解和该问题的解析解比较。,解:Euler方法的具体格式:,19,h=0.2;y(1)=0.2;x=0.2:h:3;forn=1:14xn=x(n);yn=y(n);y(n+1)=yn+h*(yn/xn-2*yn*yn);endx0=0.2:h:3;y0=x0./(1+x0.2);plot(x0,y0,x,y,x,y,o),程序实现,20,xny(xn)ynyn-y(xn)0.00000.20.19230.20000.00770.40.34480.38400.03920.60.44120.51700.07580.80.48780.58240.09461.00.50000.59240.09241.20.49180.57050.07871.40.47300.53540.0624,h=0.2,xn=nh,(n=0,1,2,15),f(x,y)=y/x2y2计算中取f(0,0)=1.计算结果如下:,21,xny(xn)ynyn-y(xn)1.60.44940.49720.04781.80.42450.46050.03592.00.40000.42680.02682.20.37670.39660.01992.40.35500.36980.01472.60.33510.34590.01082.80.31670.32460.00793.00.30000.30570.0057,由表中数据可以看到,微分方程初值问题的数值解和解析解的误差一般在小数点后第二位或第三位小数上,说明Euler方法的精度是比较差的。,22,二阶Runge-Kutta方法,其中c1,c2,2,21待定。,上式的局部截断误差为:,23,即,c1=1-a,2=21=1/(2a),方程组解不唯一,可令c2=a0,则,满足上述条件的公式都为2阶R-K公式。,24,例蛇形曲线的初值问题,令f(x,y)=y/x2y2,取f(0,0)=1,h=0.2,xn=hn,(n=1,2,15),2阶龙格-库塔公式计算格式:k1=yn/xn2yn2,k2=(yn+hk1)/(xn+h)2(yn+hk1)2yn+1=yn+0.5hk1+k2,25,x0=0;y0=0;h=.2;x=.2:h:3;k1=1;k2=(y0+h*k1)/x(1)-2*(y0+h*k1)2;y(1)=y0+.5*h*(k1+k2);,forn=1:14k1=y(n)/x(n)-2*y(n)2;k2=(y(n)+h*k1)/x(n+1)-2*(y(n)+h*k1)2;y(n+1)=y(n)+0.5*h*(k1+k2);end,y1=x./(1+x.2);plot(x,y,o,x,y1),26,常用的一个公式为,四阶Runge-Kutta方法,27,functionydot=harmonic(t,y)ydot=y(2);-y(1),y=inline(01;-10*y,t,y);,SystemofEquations,28,functionydot=twobody(t,y)r=sqrt(y(1)2+y(2)2);ydot=y(3);y(4);-y(1)/r3;-y(2)/r3;,TwoBodyProblem,29,LinearizedDifferentialEquations,30,J的特征值是,解增长,解衰减,解振荡,31,基于龙格库塔法,MATLAB求常微分方程数值解的函数,一般调用格式为:t,y=ode23(fname,tspan,y0)t,y=ode45(fname,tspan,y0)其中fname是定义f(t,y)的函数文件名,该函数文件必须返回一个列向量。tspan形式为t0,tf,表示求解区间。y0是初始状态列向量。t和y分别给出时间向量和相应的状态向量。,MATLAB求常微分方程数值解的函数,32,ode23:Bogacki,Shampine(1989)和Shampine(1994),”23”表示用两算法:一个2阶,一个3阶,Bogacki,P.andLFShampine,A3(2)pairofRunge-Kuttaformulas,Appl.Math.Letters,Vol.2,1989,pp1-9.,BS23algorithm,33,F=inline(y(2);-y(1),t,y)ode23(F,02*pi,1;0),opts=odeset(reltol,1.e-4,abstol,1.e-6,outputfcn),Examples,34,ode23(twobody,02*pi,1;0;0;1);,Examples,35,y0=1;0;0;3;ode23(twobody,02*pi,y0);,36,y0=1;0;0;3;t,y=ode23(twobody,02*pi,y0);plot(y(:,1),y(:,2);axisequal,37,y0=1;0;0;3;t,y=ode23(twobody,02*pi,y0);plot(y(:,1)plot(y(:,2),38,Aproblemisstiffifthesolutionbeingsoughtisvaryingslowly,buttherearenearbysolutionsthatveryrapidly,sothenumericalmethodmusttakesmallstepstoobtainsatisfactoryresults.,Amodelofflamepropagation(火焰燃烧):,y是球的半径,y2和y3与球的表面积和体积有关,想一下,点燃一根火柴,光球迅速增长,到达一个关键的大小,然后维持它的大小(由于进入球内氧气和消耗的氧气平衡),StiffProblem(刚性问题),39,eta=0.02;symy;F=inline(y2-y3,t,y);ode23(F,02/eta,eta);,40,eta=0.00002;symy;F=inline(y2-y3,t,y);ode23(F,02/eta,eta);,41,eta=0.00002;ode23s(inline(y2-y3,t,y),02/eta,eta);,42,例蛇形曲线的常微分方程初值问题,MATLAB数值求解命令F=inline(1./(1+x.2)-2*y.2);ode23(F,0,6,0)输出结果为图形,43,T,y=ode23(f,0,6,0)将得到自变量和函数的离散数据,T=00.00010.00050.00250.01250.04960.10850.18630.28370.40910.59910.85131.05671.26801.51101.80502.17882.68423.28423.88424.48425.08425.68426.0000,y=00.00010.00050.00250.01250.04950.10730.18000.26260.35050.44110.49440.50000.48680.46070.42420.37930.32700.27830.24110.21220.18910.17050.1620,44,例洛伦兹模型由如下常微分方程组描述,取=8/3,=10,=28。初值:x(0)=0,y(0)=0,z(0)=0.01。利用MATLAB求解常微分方程数值解命令计算出t0,80内,三个未知函数的数据值,并绘出相空间在Y-X平面的投影曲线,45,气象学家Lorenz提出一篇论文,名叫一只蝴蝶拍一下翅膀会不会在Taxas州引起龙卷风?论述某系统如果初期条件差一点点,结果会很不稳定,他把这种现象戏称做蝴蝶效应。Lorenz为何要写这篇论文呢?这故事发生在1961年的某个冬天,他如往常一般在办公室操作气象电脑。平时,他只需要将温度、湿度、压力等气象数据输入,电脑就会依据三个内建的微分方程式,计算出下一刻可能的气象数据,因此模拟出气象变化图。这一天,Lorenz想更进一步了解某段纪录的後续变化,他把某时刻的气象数据重新输入电脑,让电脑计算出更多的後续结果。当时,电脑处理数据资料的数度不快,在结果出来之前,足够他喝杯咖啡并和友人闲聊一阵。在一小时後,结果出来了,不过令他目瞪口呆。结果和原资讯两相比较,初期数据还差不多,越到後期,数据差异就越大了,就像是不同的两笔资讯。而问题并不出在电脑,问题是他输入的数据差了0.000127,而这些微的差异却造成天壤之别。所以长期的准确预测天气是不可能的。,46,天气预报的准确性:.tw/senior/seniorteach/stfastnews/stnfastnews/stnfastnews4/stnfastnews4_2.htmLorenz现象的数学:/news_detail.php?news_id=225分形艺术电子版:,47,记向量y1,y2,y3=x,y,z,创建MATLAB函数文件如下,functionz=flo(t,y)z(1,:)=-8*y(1)/3+y(2).*y(3);z(2,:)=-10*(y(2)-y(3);z(3,:)=-y(1).*y(2)+28*y(2)-y(3);,用MATLAB命令求解并绘出Y-X平面的投影图,y0=0;0;0.01;x,y=ode23(flo,0,80,y0)plot(y(:,2),y(:,1),48,plot(y(:,3),y(:,1),49,plot3(y(:,1),y(:,2),y(:,3),50,y0=30;0;-40;plot(y(:,i),51,52,53,非刚性系统:,ode45(Runge-Kutta45)ode23(Runge-Kuatta23)ode113(Adams-Bashforth-MoultonPECE)多步方法,刚性系统:,ode15s(Gear方法),多步方法ode23s(二阶modifiedRosenbroackformula),单步ode23t(trapezoidalrule),solveDAEsode23tb(TR-BDF2)lowordermethod,MatlabsODESolvers,54,Laplacian算子:,Poisson方程(elliptic):,Laplacian算子的特征值问题:,Heatequation(parabolic):,Waveequation(hyperbolic):,PDEModel,55,五点离散,Poisson方程离散:,特征值问题:,Finete
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 统编版五年级语文下册期末专项复习(积累运用与课文理解)卷(含答案)
- 工业园区规划与环保设计
- 工业机器人市场现状及未来趋势
- 工业安全与设备维护培训
- 工业污染源的监测与防治技术探索
- 工业自动化中智能硬件的角色与影响
- 工业废热回收与利用技术
- 工业自动化中的数据安全与隐私保护
- 工业机器人操作与维护的实践技巧
- 工业级智能机房的设计与施工流程
- 2025届萍乡市重点中学物理八下期末监测试题含解析
- 2025年下半年(第二季度)重庆市巫溪县事业单位招聘72人易考易错模拟试题(共500题)试卷后附参考答案
- 2025陕煤集团榆林化学有限责任公司招聘(137人)笔试参考题库附带答案详解
- 人教版小学四年级下册体育期末复习计划
- 老年人摄影知识培训课件
- 2025石狮市国企招聘考试题目及答案
- 丰田公司5s管理制度
- 审核技巧培训
- 2025-2030中国煤炭行业深度调研及投资前景预测研究报告
- 铁路施工高空作业安全教育
- TCPSS 1011-2024 直流散热风扇运行寿命测试方法
评论
0/150
提交评论