0
我有一些表面的數據三聯體。例如,我有三個(x,y,z)點:(0,0,0.5),(1,0,0.75)和(0 1 1)。任何人都可以給我一些關於如何使用MATLAB來計算這個表面下的體積的建議嗎? 在此先感謝。使用MATLAB計算表面下的體積
我有一些表面的數據三聯體。例如,我有三個(x,y,z)點:(0,0,0.5),(1,0,0.75)和(0 1 1)。任何人都可以給我一些關於如何使用MATLAB來計算這個表面下的體積的建議嗎? 在此先感謝。使用MATLAB計算表面下的體積
你需要把你的函數z的double integral:R2 - > R.
不過請注意,您正在處理離散值,所以積分只能近似。具體來說,您可以獲得某些連續函數z:R2 - > R的樣本,這些樣本是特定的(x,y)值,它們是您給出的點。最簡單的近似是使用Zero-Order-Hold(ZOH),歸結爲假設您的曲面由高度爲'z',寬度爲'dx'和長度爲'dy'('dx'和'長度')的盒子組成, dy'是指定x和y的分辨率,並且假定爲常數)。那麼你有: V = dx * dy * Sum_i {z_i}
其他方法將使用更復雜的方法interpolation。結帳Matlab的interp2
。
Matlab的經由ZOH幼稚體積:
dx = 0.1; % x-resolution
dy = 0.1; % y-resolution
x = 0:dx:1;
y = 0:dy:1;
[xs, ys] = meshgrid(x,y); % let there by 2D!
z = abs(sin(pi*(xs-ys))); % the surface (computed over the meshgrid)...
surf(x,y,z); % ...and what a nice surface it is!
V = dx*dy*sum(z(:)); % take the volume
3點不表面作。這三點如何定義表面? – nneonneo
又是什麼意思?你是指從XY平面到Z值的音量? – Dan
我正在處理的曲面是一個有x-y平面,y-z平面,z-x平面和由三元組產生的非均勻平面的有界曲面。體積可以從XY平面到Z值。 –