5 matlab numerical-integration
我有一个358个数字的向量.我想对这个向量进行数值积分,但我不知道这个向量的功能.
我发现我们可以使用trapz或quad,但我真的不明白如何在没有函数的情况下进行集成.
如果您知道向量的水平间距,则可以使用trapz在没有该函数的情况下对其进行积分.例如,y=sin(x)要从0到pi与358个部分进行集成,
x=0:pi/357:pi;
y=sin(x);
area=trapz(x,y);
Run Code Online (Sandbox Code Playgroud)
如果你只是使用trapz(y),你会得到一个更大的数字,因为点之间的默认距离假定为1.这个问题可以通过乘以x点之间的距离来解决:
area=pi/357*trapz(y);
Run Code Online (Sandbox Code Playgroud)