matlab在科学计算中的应用5-1-1.ppt

matlab在科学计算中的应用5-1-1.ppt

ID:56527679

大小:351.00 KB

页数:17页

时间:2020-06-27

matlab在科学计算中的应用5-1-1.ppt_第1页
matlab在科学计算中的应用5-1-1.ppt_第2页
matlab在科学计算中的应用5-1-1.ppt_第3页
matlab在科学计算中的应用5-1-1.ppt_第4页
matlab在科学计算中的应用5-1-1.ppt_第5页
资源描述:

《matlab在科学计算中的应用5-1-1.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章微分方程问题的解法常系数线性微分方程的解析解方法常微分方程问题的数值解法微分方程问题算法概述四阶定步长Runge-Kutta算法及MATLAB实现一阶微分方程组的数值解微分方程转换特殊微分方程的数值解边值问题的计算机求解偏微分方程的解5.1常系数线性微分方程的解析解方法数学描述:特征方程(多项式代数方程):-该代数方程的根称为原常系数方程的特征根-根据特征根的情况可求得原方程的解析解格式:y=dsolve(f1,f2,…,fm)格式:指明自变量y=dsolve(f1,f2,…,fm,’x’)fi即可以描述微分方程,又可描述初始条件或边界条件。如:描

2、述微分方程时描述条件时例:>>symst;u=exp(-5*t)*cos(2*t+1)+5;>>uu=5*diff(u,t,2)+4*diff(u,t)+2*uuu=87*exp(-5*t)*cos(2*t+1)+92*exp(-5*t)*sin(2*t+1)+10>>symsty;>>y=dsolve(['D4y+10*D3y+35*D2y+50*Dy+24*y=',...'87*exp(-5*t)*cos(2*t+1)+92*exp(-5*t)*sin(2*t+1)+10'])>>y=dsolve(['D4y+10*D3y+35*D2y+50*Dy+

3、24*y=',...'87*exp(-5*t)*cos(2*t+1)+92*exp(-5*t)*sin(2*t+1)+10'],'y(0)=3','Dy(0)=2','D2y(0)=0','D3y(0)=0')分别处理系数,如:>>[n,d]=rat(double(vpa(-445/26*cos(1)-51/13*sin(1)-69/2)))ans=-8704185%rat()最接近有理数的分数判断误差:>>vpa(-445/26*cos(sym(1))-51/13*sin(1)-69/2+8704/185)ans=.114731975864790922

4、564144636e-4>>y=dsolve(['D4y+10*D3y+35*D2y+50*Dy+24*y=',...'87*exp(-5*t)*cos(2*t+1)+92*exp(-5*t)*sin(2*t+1)+...10'],'y(0)=1/2','Dy(pi)=1','D2y(2*pi)=0','Dy(2*pi)=1/5')如果用推导的方法求Ci的值,每个系数的解析解至少要写出10数行,故可采用有理式近似的方式表示.>>vpa(y,10)%有理近似值ans=1.196361839*exp(-5.*t)+.4166666667-.478544735

5、4*sin(t)*cos(t)*exp(-5.*t)-.4519262218e-1*cos(2.*t)*exp(-5.*t)-2.392723677*cos(t)^2*exp(-5.*t)+.2259631109*sin(2.*t)*exp(-5.*t)-473690.0893*exp(-3.*t)+31319.63786*exp(-2.*t)-219.1293619*exp(-1.*t)+442590.9059*exp(-4.*t)例:求解>>[x,y]=dsolve('D2x+2*Dx=x+2*y-exp(-t)',…'Dy=4*x+3*y+4*ex

6、p(-t)')例:>>symstx>>x=dsolve('Dx=x*(1-x^2)')x=[1/(1+exp(-2*t)*C1)^(1/2)][-1/(1+exp(-2*t)*C1)^(1/2)]>>symstx;x=dsolve('Dx=x*(1-x^2)+1')Warning:Explicitsolutioncouldnotbefound;implicitsolutionreturned.>InD:MATLAB6p5toolboxsymbolicdsolve.matline292x=t-Int(1/(a-a^3+1),a=``..x)+C1=

7、0故只有部分非线性微分方程可直接求出其解析解。5.2微分方程问题的数值解法算法概述微分方程求解的误差与步长问题:function[outx,outy]=MyEuler(fun,x0,xt,y0,PointNum)%fun表示f(x,y);x0,xt:自变量的初值和终值;y0:函数在x0处的值,其可以为向量形式;PointNum表示自变量在[x0,xt]上取的点数ifnargin<5

8、PointNum<=0%PointNum默认值为100PointNum=100;endifnargin<4%y0默认值为0y0=0;endh=(xt-x0)/PointNum

9、;%计算步长hx=x0+[0:PointNum]'*h;%自变量数组y=zero

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。