数学建模方法分享——使用matlab进行数值微积分运算
一.多项式微积分(polynomial calculus)
1. 多项式微分(polynomial differentiation)
1.1 求解某点处的数值
1.2求解多项式的微分
2. 多项式积分(polynomial integration)
求解多项式不定积分使用polyint()函数,用法:
a=polyint(p,k),p为多项式对应向量,由于积分原函数常数项不唯一,k用于表示常数项的值,若不输入k,对应常数项默认为0,a表示积分多项式对应的向量.
二.数值微积分(numerical calculus)
1. 数值微分(numerical differentiation)
例:
例:
m即为x0处的数值微分,h越小则值越接近真实值.
同理将x写为向量形式即可求得一系列f’(x)的对应值,从而可利用plot函数画出导数图像.
2.数值积分(numerical integration)
对于数值积分,我们有三种近似方法,由于作者是数学专业的,所以顺便给出这些公式的证明(摘自梅加强老师的数学分析教材):
2.1矩形公式
矩形公式即将积分分割每个区间的中点的函数值作为函数于这个区间的值对积分进行近似计算.当区间分割得越细(h越小)时,数值积分的精确度一般也越高.
2.2梯形公式
梯形公式是取积分区间分割出的区间的两个端点的函数值的平均值作为函数值进行近似计算.同理,当积分区间分割的越细,即h越小时,积分的近似解精确值也越高.
2.3Simpson公式
此公式为利用3次Lagrange插值多项式进行近似计算(先前的计算其实也是对Lagrange插值多项式的利用),若继续使用高次的Lagrange插值多项式进行近似计算,即可得到一般的Newton-Cotes公式.但需要注意的是,当使用高次插值多项式对积分进行拟合时,可能会由于龙格效应使得计算的值反而不如低次时精确,故一般不会使用更高次的多项式进行拟合.
于是,我们便知道了进行简单的数值微积分的计算方法
更方便地,matlab还内置了intergral(),intergral2(),intergral3()函数进行数值积分的计算,用法:
积分值=Intergral(@f,积分下限,积分上限),其余两个函数为求解多元数值积分的函数,读者可自行在官网上进行了解.
接下来留两道例题,欢迎读者尝试:
利用matlab求解如下积分:
作者:技术部 汪天昊 廖正杰
编辑:宣传部 班成思
审核:宣传部 马雨辰