Matlab怎么计算定积分
1、以f(x)=e^2x+sin(x+π/3) ,积分下限:a=0,积分上限:b=π/4 为例。首先,建立被积函数M文件;点击New,选择Function;
2、在编辑器中输入指令:function f=f(x);f=exp(2*x).*sin(x+pi/3);(注意,用 .* )
3、保存函数文件到自己的工作路径,比如G:\matlab\work。
输入指令:cd G:\matlab\work,是该路径成为当前路径。
4、matlab中计算积分的两种指令:
1.F=quad(’fname’,a,b,tol,trace) Simpson数值积分法
2.F=quad8(’fname’,a,b,tol,trace) Newton-Cotes数值积分法
其中: fname是被积函数表达式或函数名,a,b分别是上下限,tol可以控制积分精度,省略则取0.001;trace=1则用图形表示积分过程,trace=0,没有图形。
两者 比较,quad8精度更高。
5、调用积分函数squad进行计算。输入指令: F=quad(’f(x)’,0,pi/4),如图,回车后可得到计算结果1.8612。其他函数,只要修改函数文件中的表达式即可。
matlab求函数的数值积分
matlab中常用的求函数的数值积分方法,可以用以下函数来求解:
1、对于一重积分,有quad【自适应步长Simpson数值积分】、quadl【高精度Lobatto数值积分】、quadgk【自适应Gauss-Kronrod数值积分】、trapz【梯形数值积分】,上述函数调用格式分别为-matlab 积分
quad(fun,a,b)%fun—被积函数,a—积分下限,b—积分上限
quadl(fun,a,b)%fun—被积函数,a—积分下限,b—积分上限
quadgk(fun,a,b)%fun—被积函数,a—积分下限,b—积分上限
trapz(X,Y)%X—自变量【a,b】区间的等差向量,Y—对应于X的被积函数值
2、对于二重积分,有quad2d【平面区域的数值积分】,dblquad【矩形区域的数值积分】,其调用格式分别为
quad2d(fun,xmin,xmax,ymin,ymax)
dblquad(fun,xmin,xmax,ymin,ymax)
3、对于三重积分,有triplequad【三维矩形区域的数值积分】,其调用格式为
triplequadfun,xmin,xmax,ymin,ymax,zmin,zmax)
matlab 求积分
题主给出的积分函数,用matlab 求解,可以这样做
1、确定x在【-300,300】中,取若干个x(i)数据,如
x=-300:10:300;
2、使用for循环语句,将x(i)代入积分函数I(x)中,使用int函数计算其积分值,同时将值赋值给Ix数组变量中
for n=1:600/t+1
syms x
A_1=int(cos((pi*(x^2))/2),x,a1(1,n),a2(1,n));
A_2=int(sin((pi*(x^2))/2),x,a1(1,n),a2(1,n));
Ix(n)=1000*(lambda/(2*L))*((A_1)^2+(A_2)^2);
end
3、最后用plot函数,绘出其x—I(x)的图形
运行程序,可以得到如下结果。