matlab 积分函数
有如下10种积分函数:
%符号积分
int(f,v)
int(f,v,a,b)
%数值积分
trapz(x,y)%梯形法沿列方向求函数Y关于自变量X的积分
cumtrapz(x,y)%梯形法沿列方向求函数Y关于自变量X的累计积分
quad(fun,a,b,tol)%采用递推自适应Simpson法计算积分
quad1(fun,a,b,tol)%采用递推自适应Lobatto法求数值积分
dbquad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol)%二重(闭型)数值积分指令
triplequad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol)%三重(闭型)数值积分指令
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。
function y = gamma1(a, b) %用数值积分 y = quad(@(x)x.^(a-1).*exp(-x), 0, b);end
1、【v == 0】并不是【v恒等于0】,而是说在v=0的条件下,积分结果为后面的那个式子(2^(1/2)*exp(-(pi*tau^2)/2))/2。符号运算结果里出现piecewise表示分不同条件会有不同的结果。
2、猜测你用的应该是2008b或更高的版本(符号运算是MuPad内核)。如果是2008a之前的版本(Maple内核),结果如下:
>> syms tau v t a
>> int((exp(-(pi*a)*(2*t^2+tau^2/2))-1i*2*pi*v*t),t,-inf,inf)
ans =
1/2*exp(-1/2*pi*a*tau^2)*2^(1/2)/a^(1/2)
如果对a赋值再积分:
>> syms tau v t
>> a=1;
>> int((exp(-(pi*a)*(2*t^2+tau^2/2))-1i*2*pi*v*t),t,-inf,inf)
ans =
NaN
结果为不定(NaN)。但如果进一步对v赋值:
>> v=0;
>> int((exp(-(pi*a)*(2*t^2+tau^2/2))-1i*2*pi*v*t),t,-inf,inf)
ans =
1/2*exp(-1/2*pi*tau^2)*2^(1/2)
这和你得到的结果是一致的。
总的说来,MuPad内核比起Maple要更严谨一些,例如,对于a=1的情况,Maple内核直接认为结果为NaN,而MuPad内核则单独列出来,如果v=0,则能够得到确定的结果。
淫娇奇洛: int数值积分和符号积分都可以,但是全都只能用作数值积分.quad Numerically evaluate integral, adaptive Simpson quadrature Syntax q = quad(fun,a,b) q = quad(fun,a,b,tol) q = quad(fun,a,b,tol,trace) [q,fcnt] = quad(...)
龙州县15386336823: matlab中积分函数都有哪些 - ?
淫娇奇洛: %符号积分 int(f,v) int(f,v,a,b)%数值积分 trapz(x,y)%梯形法沿列方向求函数Y关于自变量X的积分 cumtrapz(x,y)%梯形法沿列方向求函数Y关于自变量X的累计积分 quad(fun,a,b,tol)%采用递推自适应Simpson法计算积分 quad1(fun,a,b,tol)%采用递推自适应Lobatto法求数值积分 dbquad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol)%二重(闭型)数值积分指令 triplequad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol)%三重(闭型)数值积分指令
龙州县15386336823: matlab中对符号表达式求微分和积分的函数是什么? - ?
淫娇奇洛:[答案] 1、求积分的函数是int(函数名称,积分区间左端,积分区间右端) 如果后面两个不填就认为是求不定积分. 2.求导数的函数diff(y,x,K)表示y对x求K阶导.基本上求导和求微分的意义是一样的.
龙州县15386336823: matlab怎么画积分函数 - ?
淫娇奇洛: 用matlab画积分函数的图像,可以来处理.通过for循环语句,求出对应ω的f(ω)的值,其实现方法为: w0=linspace(0,2.2*10^(-5),20); for i=1:length(w0); syms x w=w0(i); f = int(...); f0(i)=f; end plot(w0,f0); xlabel('ω'),ylabel('f(ω)')
龙州县15386336823: matlab 积分函数 - ?
淫娇奇洛: syms x y int(int(2*y,y,0,x),x,0,2) ans =8/3
龙州县15386336823: 如何用matlab求积分的程序 - ?
淫娇奇洛: 程序: fun=sin(0.5*pi*x./y);%% a=int(int(fun,y,sqrt(x),x),x,1,2); b=simple(a) %化简 I=vpa(b,4) %得到4位近似解,也可以任意N位解 结果: I = 0.2719
龙州县15386336823: matlab中积分函数的建立?
淫娇奇洛: for i=1:3 q=quadv(@(x)f(x,3),0,t(i)) 这样就能得出结果了,积分上下线应该都是标量值;你可以再仔细看看quadv 的帮助文档
龙州县15386336823: 如何用matlab求取函数的不定积分与定积分 - ?
淫娇奇洛: 求函数积分,一般用int()函数. 使用格式: int(S)——对被积函数S求积分. int(S,a,b)——对被积函数S求定积分,积分区间从a到b. 例如,求函数的不定积分. syms x,int(1/(1+x^2)) 运行结果为 atan(x) 例如,求函数的定积分. syms x,int(x1*log(1+x1),0,1) 运行结果为 1/4
龙州县15386336823: 用matlab求积分 - ?
淫娇奇洛: 用quad函数,例如求f(x)=1./(x.^3-2*x-5)从0到2的积分: F = @(x)1./(x.^3-2*x-5); %生成函数句柄 Q = quad(F,0,2);