MATLAB微分与积分

数值微分

(1)数值差分与差商
向前,向后,中心差分;向前,向后,中心差商
(2)数值微分的实现
MATALB提供了求向前差分的函数diff,其调用格式有三种:
dx=diff(x):计算向量x的一阶向前差分,dx(i)=x(i+1)-x(i),i=1……2,……,n-1
dx=diff(x,n):计算向量x的你、阶向前差分。
dx=diff(A,n,dim):计算矩阵A的n阶差分,dim=1时(默认状态),按列计算差分;dim=2,按行计算差分。
例,计算sinx在【0,2pi】的导数值,与cosx进行比较

x=[0,sort(2*pi*rand(1,5000)),2*pi];
y=sin(x);
f1=diff(y)./diff(x);
f2=cos(x(1:end-1));
plot(x(1:end-1),f1,'r',x(1:end-1),f2,'b');

数值积分

(1)数值积分基本原理
牛顿莱布尼茨公式
将定积分分解为求和问题,
(2)数值积分的实现
基于自适应辛普森方法
[I,n]=quad(filename,a,b,tol,trace)

基于自适应Gauss-Lobatto方法
[I,n]=quadl(filename,a,b,tol,trace)
其中,filename是被积函数名;a和b分别是积分的上下限;tol用来控制积分精度,默认时取tol=10^-6;
trace控制是否展现积分过程,取零不展现,非零则展现,默认时取零
返回参数I即定积分的值,n为被积函数的调用次数。

基于全局自适应积分方法
I=integral(filename,a,b)
其中,I是积分结果,filename函数名,a,b为定积分的上下限,积分限可以是无穷大。

基于自适应高斯-克朗罗德方法
[I,err]=quadgk(filename,a,b)
err返回近似误差范围,其他参数的含义和用法与quad函数相同,。积分上下限可以是无穷大(-Inf或Inf),也可以是复数。如果积分上下限是复数,则quadgk函数在复平面上求积分。

基于梯形积分法
已知(xi,yi)(i=1,2,……,n),且a=x1<x2<……<xn=b,求定积分
I=trapz(x,y)其中,向量x,y定义函数关系y=f(x).
trapz函数语句等价于: sum(diff(x).*(y(1:end-1)+y(2:end))/2)

(3) 多重定积分的数值求解
求二重积分的数值解:
I=integral2(filename,a,b,c,d)
I=quad2d(filename,a,b,c,d)
I=dblquad(filename,a,b,c,d,tol)
求三重积分的数值解:
I=integral3(filename,a,b,c,d,e,f)
I=triplequad(filename,a,b,c,d,e,f,tol)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值