数值计算与MATLAB课件MATLAB数值计算-第7章-常微分方程.docx

数值计算与MATLAB课件MATLAB数值计算-第7章-常微分方程.docx

ID:35746146

大小:659.52 KB

页数:26页

时间:2019-04-16

数值计算与MATLAB课件MATLAB数值计算-第7章-常微分方程.docx_第1页
数值计算与MATLAB课件MATLAB数值计算-第7章-常微分方程.docx_第2页
数值计算与MATLAB课件MATLAB数值计算-第7章-常微分方程.docx_第3页
数值计算与MATLAB课件MATLAB数值计算-第7章-常微分方程.docx_第4页
数值计算与MATLAB课件MATLAB数值计算-第7章-常微分方程.docx_第5页
资源描述:

《数值计算与MATLAB课件MATLAB数值计算-第7章-常微分方程.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MATLAB数值计算(读书日记及程序编写)第七章常微分方程2第七章常微分方程#常微分方程1)什么是常微分方程?2)什么是偏微分方程?假如知道,求出原函数?假如知道,,求出原函数?假如知道,求出原函数?如果知道,,x∈[1,2],求出原函数?原函数分别为:,,,第四个函数就不能一眼就看出来了#常微分方程的数值求解常微分方程的理论求解非常麻烦,只能针对一些常见、特殊的微分方程求解,比如可分离变量的微分方程、比如齐次方程:求:的通解解:然而,当我们任意写出一个函数来的话,几乎就很难通过理论的方法把这个解写出来了。常微分方程的初值问题知道常微分方程:知道方程的初值:要求的是一系列自变量t0,t1,…,

2、tn,和对应的因变量y0,y1,…,使得每个yn近似的等于tn处的函数值n=0,1,2,3…(注意这里积分时t换成了s,这是积分中的t已经为一个固定的值了,不再是变量,所以有一个新的t)一般而言,这里是不能直接使用数值积分的方式来近似的求出这个积分,因为函数y(s)未知,所以无法计算被积分的函数。在特殊情况下,就是f(t,y)仅仅是t的函数,这个时候简单的微分方程就可以通过一系列的积分来获得数值解,即:而一般情况时,如果我们直接将上式离散化得到这样形成的数列:#直接微分的命令:微分的命令是diff(func,n)func表示的是需要微分的函数,n表示的是微分的阶数一阶微分,diff(x^2)二

3、阶微分,diff(x^2,2),还可以多阶微分symsxdiff(x^2,2)#直接积分的命令可以直接计算(积分的命令是int)对于不含y的微分方程dy/dt=f(t)可以写出原函数,对于含y的微分方程dy/dt=f(t,y)则写不出原函数。y=int('2')y=2*xMatlab中π的符号表示是pi自然对数e的符号表示exp(1),其实也就是没有自然对数>>symst>>int(t^2+exp(t))ans=exp(t)+t^3/3#线性化的微分方程一个微分方程的解在任意一点(tc,yc)附近的局部性质可以通过f(t,y)的二维泰勒展开加以分析:其中,这个展开中最重要的项是涉及雅克比矩阵的

4、J的项,对于一个含义n个分量的微分方程系统:雅克比矩阵是由偏导数组成的nxn矩阵:#欧拉法对于一阶常微分初值问题:(n=0,1,2,…,N)这是显式的欧拉公式,欧拉法使用的矩形公式,被积函数只是在求积区间的左端点被计算一次,当f(t)为常数时是精确的,而f(t)为线性时误差和h成比例,所以为了获得一定位数的精度需要很小的步长,欧拉法没有办法提供误差估计,也无法自动确定步长来期望的精度。欧拉法的误差的根源来自于使用一个斜率f(tn,yn)来代替了在在(tn,tn+1)段上的所有斜率,这带来较大的误差,后面的各种方法都是通过各种迭代让斜率f(tn,yn)更加准确而设置的,f(tn,yn)=ψ’(t

5、n,yn)y=ψ(t)(yn,tn)数值分析得到的值:(yn+1,tn+1)真实值的曲线假设初值问题:求解:假设h=0.1欧拉法:f=@(x,y)y-2*x/y;h=0.1;x=0;y=1;whilex<=1y=y+h*feval(f,x,y)x=x+hplot(x,y,'o');holdon;end#二阶的Runge-Kuta法:龙格-库塔法其实是修正后的欧拉公式中再建立起来的,把非线性的h*f(xn,yn)按函数值进行了修正所以,通过不同的权重取值等就可以得到不同的公式。类比于中点公式,先用欧拉法计算区间的一半,在中点处再估算函数值,然后再用这里的斜率代替整段曲线来计算。s1=f(tn,y

6、n)=ψ’(tn,yn),斜率(yn,tn)数值分析得到的值:yn+1=yn+hs2,tn+1=tn+h真实值的原函数曲线y=ψ(t,y),f(t,y)=ψ’(t,y)S2=f(tn+h/2,yn+h/2*s1),斜率类似于梯形公式,先用欧拉法试探性计算中点处的函数值,然后去起点和终点两处斜率的平均进行实际的计算:s1=f(tn,yn)=ψ’(tn,yn),斜率(yn,tn)数值分析得到的值:yn+1=yn+h*(s1+s2)/2,tn+1=tn+h斜率取平均值真实值的原函数曲线y=ψ(t,y),f(t,y)=ψ’(t,y)S2=f(tn+h,yn+h*s1),斜率,在该点上平行于原函数#四阶

7、的Runge-Kuta法:如果同时使用这两种方法来组合,将比它们中的任何一个都有更高的准确性。继续上述方法,我们就得到了常微分方程单步法的主要思想。对于tn和tn+1间的几个不同值t,估算函数f(t),然后由这些f值的线性组合加上yn得到需要的y值。龙格-库塔法(Lunge-KuttaMethods),由两名德国应用数学家在1905年提出,经典的龙格库塔法在计算机发明前广泛应用。使用了四个函数的估

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

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

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