我正在尝试使用 matlab 集成 x,通过使用以下命令,该任务很简单:
syms x
a=int(x)
问题是我不知道如何实现数值积分。我想使用不同的技术使用一定数量的间隔对 x 进行积分。
任何人都可以帮我解决数值积分的语法调用吗? MathWorks 网站不是很有帮助。
我也知道有一种称为 traps 的方法,但我正在 matlab 中寻找其他方法,例如黎曼和近似。
更新
所以我具体寻找的是一个函数,它将把 x 分成 8 个区域,然后将这 8 个区域加在一起。除了 trapz 之外还有预定义函数可以做这样的事情吗?
好吧,我想我已经得出结论:不存在这样的事情。你必须自己做。
对于数值积分,您可以使用大量函数:
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)