Matlab数值积分

问题描述 投票:0回答:1

我正在尝试使用 matlab 集成 x,通过使用以下命令,该任务很简单:

syms x

a=int(x)

问题是我不知道如何实现数值积分。我想使用不同的技术使用一定数量的间隔对 x 进行积分。

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

我也知道有一种称为 traps 的方法,但我正在 matlab 中寻找其他方法,例如黎曼和近似。

更新

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

好吧,我想我已经得出结论:不存在这样的事情。你必须自己做。

matlab numerical-integration
1个回答
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)
© www.soinside.com 2019 - 2024. All rights reserved.