MATLAB 积分求解

本文介绍了MATLAB中积分的解决方法,包括解析解和数值解。解析解主要使用int函数,而数值解则涉及trapz、quad、quadl、quadgk等函数。文章通过实例展示了不同积分方法的使用,强调了各种函数的特点和适用场景,如quadl适用于高精度需求,quadgk能处理奇点和震荡积分。
摘要由CSDN通过智能技术生成
Matlab 之中的积分方法及相关函数总结:
有两类解的形式,一类解析解,适用于被积函数可以求出原函数的情况; 另一类为数值解,即被积函数不可求出原函数时,利用梯形法,矩阵法或辛普森法等等将积分区间分成若干块,累计求出近似解。

积分之前用syms 定义参数, vpa用来把解析解得形式变成具体数值,vpa(f,15),保留15位小数;

subs(f,x,y)用y 来替代符号x;
simple()对函数进行简化;
解析解积分最常用函数为int,形式 int(f(x),'x',min,max), f(x)=ax^2+b,允许带符号积分,而且可以计算不定积分。多重积分形式 int(int(int(4*x*z*exp(-x^2),x,0,2),y,0,pi),z,p,pi),亦可一层层分开积。
数值积分方法,只能求定积分,而且里面不可包含未知的符号:
需要建立函数,内建函数方法 Fun=@(x,y) ax+b 或者Fun=inline(‘x.^2’,'x')
trapz(x,y)梯形法,x1=[0:pi/30:pi]; y=sin(x1),自己可以控制步长
quad(Fun,a,b,seta) 辛普森二次样条插值法,a,b 为上下限, seta 为制定误差限, 默认为10e(-6).
quadl(Fun,a,b,seta),Lobbato算法, 调用方法和上着类似,但是精度和计算速度都优于quad.
双重积分为dblquad(Fun,xm,xM,ym,yM,seta)
工具箱NIT Numerical Integration Toolbox 可以求解范围带有参数的积分 quad2dggen,发现在新版matlab中已经自带函数quad2d了,用法 quad2d(@(x,y) x^2+y^2, 1,5,2, ymax), ymax=@(x) x^2可以带参数
fsolve 可以用来解方程

求数值解的效率高于解析解
譬如
Fun1=quadl(@(phi)2.*pi.*sp_R^2.*cos(phi).*sin(phi-angle_a3),angle_sp1,angle_a3);
的效率明显优于下者
Fun1=vpa(int(2*pi*sp_R^2.*cos(phi)*sin(phi-angle_a3),'phi',angle_sp1,angle_a3));

相关例子
一、Z = trapz(X,Y,dim)
梯形数值积分,通过已知参数x,y按dim维使用梯形公式进行积分
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值