1

meshgrid、およびを使用して、グリッド化してサーフェスとしてプロットした、不均一な間隔の x、y、z データ (Eastings、Nothings、および厚さ) がgriddataありsurfます。

この表面の下の体積を計算したいのですが、この質問に対する他の回答を問題のデータセットとコードに適用するのに苦労しています(私は完全な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)
4

1 に答える 1

0

griddataxiyiziグリッド上で等間隔になるようにデータを補間します。したがって、すべてのzi値を合計し、その結果に底面積を掛けることができます。つまり、次のようになりますdx*dy

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

一部のzi値が NaN の場合は、代わりに次のようにします。

vol = dx*dy*sum(zi(~isnan(zi)));
于 2013-08-08T08:46:03.133 に答える