1、使用int函数,函数由integrate缩写而圆或拆来,int 函数表达式,变量,积分上限,积分下限。
2、比如求一个Fx = a*x^2,在区间(m,n)对x进行积分,
首先要将 m,x,a,b 这四个变量定义为符号变量
syms m x a b
Fx = a*x^2
int(Fx,x,m,n)
3、通过上面这个方法,就能够求得任意橘枣一个函数在给定区间的积分,如果想看到书写的格式,可以用pretty命令,这样显示更接近平常的表示方法。
1、在matlab中,积分运算有多种方式,为了便于查看不同方式处理异同,以下面这个积分为例:
2、梯形积分法
第一种,采用最简单的方式,以函数trapz为例,z = trapz(x,y) 其中x表示积分区间的离散化向量,y是与x同维数的向量,表示被积函数,z是返回的积分近似值。
clc,clear。
% 梯形积分法
x = -1:0.001:1,
y = exp(-x.^2),
s = trapz(x,y)
% 计算结果: s = 1.4936
3、高精度数值积分(1)
为了克服梯形积分法精度低的问题,可以采用高精度积分方式,第一种可以采用 z = quad(Fun,a,b) 该方式是自适应步长Simpson计分法求得函数Fun在区间[a,b]上定积分,如下:
clcclear
% 梯形积分法
s = quad(inline('exp(-x.^2)'),-1,1)
% 计算结果: s = 1.4936
4、高精度数据积分(2)
采用高精度Lobatto积分法,格式: z = quadl(Fun,a,b)
clcclear
% 梯形积分团好法
s = quadl(inline('exp(-x.^2)'),-1,1)
% 计算结果: s = 1.4936
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。其他函数,只要修改函数文件中的表达式即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)