数值微积分与常微分方程的求解课件.ppt

数值微积分与常微分方程的求解课件.ppt

ID:57047307

大小:276.50 KB

页数:24页

时间:2020-07-28

数值微积分与常微分方程的求解课件.ppt_第1页
数值微积分与常微分方程的求解课件.ppt_第2页
数值微积分与常微分方程的求解课件.ppt_第3页
数值微积分与常微分方程的求解课件.ppt_第4页
数值微积分与常微分方程的求解课件.ppt_第5页
资源描述:

《数值微积分与常微分方程的求解课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章 数值微积分与常微分方程求解黑龙江大学电子工程学院在许多实际问题中要采用数值方法来求函数的微分或积分。而在实际问题中遇到的常微分方程往往很复杂,在许多情况下得不出一般解,所以,一般是要求获得解在若干个点上的近似值。【本章学习目标】掌握微分与积分的数值计算方法;掌握常微分方程的数值求解方法。目录6.1数值微分6.2数值积分6.3常微分方程的数值求解6.1数值微分6.1.1数值差分与差商6.1.2数值微分的实现数值微分的基本思想是先用逼近或拟合等方法将已知数据在一定范围内的近似函数求出,再用特定的方法对此近似函数进行微分。

2、1.多项式求导法用多项式或样条函数g(x)对f(x)进行逼近(插值或拟合),然后用逼近函数g(x)在点x处的导数作为f(x)在点x处的导数。该种方法一般只用在低阶数值微分。2.用diff函数计算差分用f(x)在点x处的某种差商作为其导数。在MATLAB中,提供计算向前差分的函数diff,其调用格式如下。DX = diff(X):计算向量X的向前差分,DX(i) = X(i+1)−X(i),i= 1,2,…,n−1。DX = diff(X,n):计算X的n阶向前差分。例如,diff(X,2) = diff(diff(X))。D

3、X = diff(A,n,dim):计算矩阵A的n阶差分,dim= 1时(默认状态),按列计算差分;dim= 2,按行计算差分。对于求向量的微分,函数diff计算的是向量元素间的差分,故所得输出比原向量少了一个元素。【例6.1】设f(x) = sinx,用不同的方法求函数f(x)的数值导数,并在同一个坐标系中做出f'(x)的图像。为确定计算数值导数的点,假设在[0,pi]区间内以π/24为步长求数值导数。下面用3种方法求f(x)在这些点的导数。首先用一个5次多项式p(x)拟合函数f(x),并对p(x)求一般意义下的导数dp(

4、x),求出dp(x)在假设点的值;第2种方法用diff函数直接求f(x)在假设点的数值导数;第3种方法先求出导函数f'(x) = cosx,然后直接求f'(x)在假设点的导数。x=0:pi/24:pi;%用5次多项式p拟合f(x),并对拟合多项式p求导数dp在假设点的函数值p=polyfit(x,sin(x),5);dp=polyder(p);dpx=polyval(dp,x);dx=diff(sin([x,pi+pi/24]))/(pi/24);%直接对sin(x)求数值导数gx=cos(x);%求函数f的导函数g在假设点

5、的导数plot(x,dpx,x,dx,'o',x,gx,'+');%作图对于求矩阵的差分,即为求各列或各行向量的差分,从向量的差分值可以判断列或行向量的单调性、是否等间距以及是否有重复的元素。【例6.2】生成一个5阶魔方矩阵,按列进行差分运算。M=magic(5)M=17241815235714164613202210121921311182529DM=diff(M)%计算M的一阶差分DM=6−19661−1916666661−19166−196可以看出,diff函数对矩阵的每一列都进行差分运算,因而结果矩阵的列数是不变的,

6、只有行数减1。矩阵DM第3列值相同,表明原矩阵第3列是等间距的。6.2.2定积分的数值求解实现在MATLAB中可以使用quad或quadl来进行数值积分。1.自适应辛普生法MATLAB提供了基于自适应Simpson法的quad函数和自适应Lobatto法的quadl函数来求定积分。函数的调用格式为[I,n]=quad(@fname,a,b,tol,trace)[I,n]=quadl(@fname,a,b,tol,trace)其中fname是被积函数名。a和b分别是定积分的下限和上限。tol用来控制积分精度,默认时取tol= 

7、10-6。trace控制是否展现积分过程,若取非0则展现积分过程,取0则不展现,默认时取trace= 0。返回参数I即定积分值,n为被积函数的调用次数。【例6.3】求。(1)建立被积函数文件fe.m。functionf=fe(x)f=x.*sin(x)./(1+abs(cos(x)));(2)调用数值积分函数quad求定积分。quad(@fe,0,pi)一般情况下,quadl函数调用的步数明显小于quad函数,而且精度更高,从而保证能以更高的效率求出所需的定积分值。【例6.4】分别用quad函数和quadl函数求椭圆积分的近

8、似值,并在相同的积分精度下,比较函数的调用次数。调用函数quad求定积分:formatlong;fx=inline('1./sqrt(1+X.^4)');%定义一个语句函数[I,n]=quad(fx,0,1,1e-10)%注意函数名不加@号I=0.927037338654481n=113调

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

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

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