MATLABA快速入门(六):数值微积分

本文详细介绍了MATLAB中数值计算的各种方法,包括数值微分与积分的实现,如forward difference、自适应辛普森法、Gauss-Lobatto方法等;非线性方程组的求解,如fzero和fsolve函数;无约束及有约束条件的最优化问题解决;以及常微分方程的数值解法。此外,还提及了相关函数的使用细节和参数设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数值微积分

1.数值微分

dx=diff(x):计算向量x的向前差分

dx=diff(x,n):计算向量x的n阶向前差分

dx=diff(A,n,dim):计算矩阵A的n阶差分,dim等于1时(默认状态),按列计算差分,dim等于2时,按行计算差分。

2.数值积分

基于自适应辛普森方法

[I,n]=quad(filename,a,b,tol,trace)

基于自适应Gauss-Lobatoo方法

[I,n]=quadl(filename,a,b,tol,trace)

基于全局自适应积分方法

I=integral(filename,a,b)

filename是被积函数名;a和b分别是积分上限和下限,tol用来控制积分精度,

trace控制是否展现积分过程,取非0则展现积分过程,取0则不展现,默认trace=0;返回参数I为定积分的值,n为被积函数的调用次数。

基于自适应高斯-克朗罗德方法

[I,err]=quadgk(filename,a,b)

err返回近似误差范围。

基于梯形积分法

I=trapz(x,y)

或者I=sum(diff(x).*(y(1:end-1)+y(2:end))/2)

其中,向量x,y定义函数关系y=f(x),

eq?I%3D%5Csum_%7Bi%3D1%7D%5E%7Bn-1%7Dh_%7Bi%7D%5Cfrac%7By_%7Bi+1%7D+y_%7Bi%7D%7D%7B2%7D

其中,eq?h_%7Bi%7D%3Dx_%7Bi+1%7D-x_%7Bi%7D

二重积分的数值解:

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)

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZGItZG9n,size_20,color_FFFFFF,t_70,g_se,x_16

3.非线性方程组数值求解

3.1单变量非线性方程求解

X=fzero(filename,x0)

其中,filename是待求方程式左端的函数表达式,x0是初始值

X=fsolve(filename,x0,option)

option用于设置优化工具箱的优化参数,可以用optimest函数来完成

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZGItZG9n,size_20,color_FFFFFF,t_70,g_se,x_16

 3.2 无约束最优化问题

[xmin,fmin]=fminbnd(filename,x1,x2,option)

[xmin,fmin]=fminsearch(filename,x0,option)

[xmin,fmin]=fminunc(filename,x0,option)

其中,xmin表示极小值点,fmin表示最小值,x1,x2分别表示被研究区间的左右边界,x0是一个向量,表示极值点的初值。

3.3 有约束条件最小值的函数

[xmin,fmin]=fmincon(filename,x0,A,b,Aeq,beq,Lbnd,Ubnd,NonF,option)

A,b,Aeq,beq,Lbnd,Ubnd,NonF为约束条件

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZGItZG9n,size_20,color_FFFFFF,t_70,g_se,x_16

4.常微分方程数值求解

调用格式为[t,y]=solver(filename,tspan,option)其中,t和y分别给出时间向量和相应的数值解,filename是定义f(t,y)的函数名,该函数必须返回一个列向量,tspan形式为[t0,tf],表示求解区间,y0是初始状态向量。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZGItZG9n,size_18,color_FFFFFF,t_70,g_se,x_16

求解结果绘图如下:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZGItZG9n,size_16,color_FFFFFF,t_70,g_se,x_16

 


关注文末公众号回复关键词“入门”,即可领取MATLAB完整版PDF文档哦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

抱抱宝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值