Matlab数值积分

时间:2013-05-20 19:30:39

标签: matlab integration numerical-integration

我正在尝试使用matlab集成x,使用以下命令可以很简单地完成任务:

syms x

a=int(x)

问题是我不确定如何实现数值积分。我想使用不同的技术使用一定数量的间隔来集成x。

任何人都可以帮我解决数值积分的语法问题吗? MathWorks站点不是很有帮助。

我也知道有一种叫做陷阱的方法,但我正在寻找matlab中的其他方法,比如Riemann和近似。

更新

所以我正在寻找的是一个将x分成8个区域的功能,然后将这8个区域加在一起。是否有一个除trapz之外的预定义函数可以做这样的事情吗?

好的,我想我已经得出结论,没有这样的事情。你必须自己制作。

1 个答案:

答案 0 :(得分:3)

对于数字集成,您可以使用大量功能:

trapz
quad
quadgk
integral

用于一维整合。

相反,如果您对多维集成技术感兴趣,可以考虑使用以下函数

dblquad
quad2d
integral2
integral3

修改

在你的情况下,我会这样做:

x = 0:.1:2;
y = x;
trapz(x,y);

y = @(x) x;
quad(y,0,2);

编辑2

看看:

clc,clear

s = 0:7;
y = @(x) x;

k = 1;
for ii = 1:numel(s)-1
  f(k) = quad(y,s(k), s(k+1));
  k = k + 1;
end
sum(f)