在Matlab中计算网格曲面下的体积

时间:2013-08-08 07:57:07

标签: matlab integration interpolation volume

我有一个非均匀间隔的x,y,z数据(Eastings,Nothings和thickness),我已使用meshgridgriddatasurf进行网格划分并绘制为曲面

我想计算这个表面下的音量,但是我很难将这个问题的其他答案应用到我的数据集和相关代码中(我是一个完整的Matlab初学者)。

任何想法如何做到这一点(在Matlab版本2011b上)?提前谢谢。

load E.txt, load N.txt, load Z.txt;
[xi, yi] = meshgrid(25.351639:0.00025:25.426483, 36.363799:0.0005:36.458845);
zi = griddata(E,N,Z, xi,yi, 'linear');
surf(xi,yi,zi)

1 个答案:

答案 0 :(得分:0)

griddata对数据进行插值,使其在xiyizi网格上均匀分布。因此,您可以将所有zi值相加并将结果乘以基础区域,即dx*dy

dx = 0.00025;
dy = 0.0005;
vol = dx*dy*sum(zi(:));

如果某些zi值为NaN,请执行以下操作:

vol = dx*dy*sum(zi(~isnan(zi)));
相关问题