您的位置:首页 > 编程语言 > MATLAB

matlab求取积分

2015-09-22 21:20 330 查看
声明:引用请注明出处http://blog.csdn.net/lg1259156776/

对于Matlab的使用情况常常是这样子的,很多零碎的函数名字很难记忆,经常用过后过一段时间就又忘记了,又得去网上查,这样就容易造成效率比较低下。加强记忆的最好办法就是将这些零碎的用法随着在实际编程开发中的应用进行总结,当需要相应的功能而又记不起来时,就可以从总结的博文中快速的找到并使用,这会是一种比较好策略。

matlab求取函数积分有两种方法,一种是符号运算,另一种是数值运算。

符号积分

int(f,v)

int(f,v,a,b)

计算f(t)=exp(−t2)f(t)=exp(-t^2)在[0,1][0,1]上的定积分

syms x
int(exp(-x^2),0,1)
ans=
    (pi^(1/2)*erf(1))/2 %erf为误差函数
syms x; 
vpa(int(exp(-x^2),0,1)) %Variable precision arithmetic

ans =

0.74682413281242702539946743613185


数值积分

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)%三重(闭型)数值积分指令

计算f(t)=exp(−t2)f(t)=exp(-t^2)在[0,1][0,1]上的定积分

d=0.001;
 x=0:d:1;
 d*trapz(exp(-x.^2))

ans =

    0.7468


参考:http://blog.csdn.net/aldenphy/article/details/5796449

2015-9-22 艺少
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: