对点矩阵进行积分

Integrating over a matrix of points

我有一个点矩阵 F(x,y) = z,但我没有 F(x,y) 的表达式。 x 来自 [0-2pi],y 来自 [0-pi]。对于每对 "coordinates",我有一个 z 值。

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

谢谢!

假设(x,y)网格是均匀的,你可以通过2D-[=15=近似积分]如下:

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

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

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)