整合点矩阵

时间:2015-01-16 10:34:17

标签: matlab math matrix calculus

我有一个点F(x,y)= z的矩阵,但我没有F(x,y)的表达式。 x是[0-2pi],y是[0-pi]。对于每对“坐标”,我的值为z。

我想在0-2pi和0-pi之间执行双重积分。我可以在没有解析表达式的情况下计算(MatLab)吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

假设( x y )网格是一致的,您可以通过2D近似积分 - Riemman sum,如下所示:

result = sum(z(:))*delta_x*delta_y;

其中delta_xdelta_y x y 方向的网格间距。在您的情况下,这些可以计算为

delta_x = 2*pi/numel(x); %// or 2*pi/(numel(x)-1)
delta_y = pi/numel(x); %// or pi/(numel(x)-1)

可能更直观的解释:计算函数的平均值并乘以( x y )域的区域:

result = sum(z(:))/(numel(x)*numel(y)) * 2*pi^2; %// or replace numel(x)*numel(y) 
                                                 %// by numel(z)