2012-09-17 50 views
0

我有一些深度的測量和對應的區域在水柱中的每個深度內計算體積:MATLAB插值對於給定的區域

depth = [0,2,4,6,7,9,10]; 
Area = [2000,1890,1873,1654,1523,1433,1200]; 

figure(1); 
plot(Area,depth);set(gca,'ydir','reverse'); 

我想計算指示的水每個深度之間的體積,然後計算從這整個水量。首先,我已經插入的深度和麪積值,以提高計算的精度:

dz = 0.1; 
newD = min(depth):dz:max(depth); 
newA = interp1(depth,Area,newD); 

figure(2); 
plot(newA,newD);set(gca,'ydir','reverse'); 

會在哪裏我從這裏去計算每個水深處之間的音量?

回答

1

要獲得體積,請將面積乘以高度。因此,因爲你的DZ是恆定的,在選擇的深度得到水量需要乘

newA*dz 

爲了讓您概括起來總量

sum(newA*dz) 

你的計算均是在線性變化有深度的水域(這就是你用interp1實現的)。我相信你可以設法整合一個線性函數的分析,而不是使用你現在的方法。你可以很容易地得到確切的數字。

0

你真正想要的總深度,而不是深入一步乘以方面:

volume = newA.*newD; 
totalVolume = sum(volume); 
+0

你的答案是不正確的。凱特想要計算水量「指示的每個深度之間的水量」,我假設每個dz都有意義。你的答案是錯誤的,因爲你在給定的深度乘以這個深度的水域。這沒有考慮到水域**隨着深度而變化的事實。因此,您有效地計算了從水面**到給定深度的積水量,假設水面面積不變。這不是,因此你的答案是錯誤的。 – angainor