我正在尝试使用matlab集成x,使用以下命令可以很简单地完成任务:
syms x
a=int(x)
问题是我不确定如何实现数值积分。我想使用不同的技术使用一定数量的间隔来集成x。
任何人都可以帮我解决数值积分的语法问题吗? MathWorks站点不是很有帮助。
我也知道有一种叫做陷阱的方法,但我正在寻找matlab中的其他方法,比如Riemann和近似。
更新
所以我正在寻找的是一个将x分成8个区域的功能,然后将这8个区域加在一起。是否有一个除trapz之外的预定义函数可以做这样的事情吗?
好的,我想我已经得出结论,没有这样的事情。你必须自己制作。
答案 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)