[c h]=contourf(X,Y,Z,5);提取%時保存返回的c h。
hc=get(h,'兒童');%獲取等值線填充對象
n =長度(HC);
v =零(n,1);
s =零(n,1);
對於i=1:n
x=get(hc(i),' xdata ');第% i個填充的對象x數據
y=get(hc(i),' y data ');第% i個填充的對象y數據
l =長度(x);
s(i)=sum((x([2:l,1]) - x)。*(y([2:l,1])+y))/2;%計算第I個填充對象的面積
v(i)=get(hc(i),' user data ');%獲取第I個對象對應的等效值
結束
[v m n]=唯壹(v);%查找具有相同值的對象
s=accumarray(n,s);%壹起拼出他們的區域
v代表等值的等值線。
s代表等值線包圍的面積大於這個等值部分。
我覺得妳最後是想求兩個等值之間的面積。
因此,可以找到大於某個值的面積和小於某個值的面積。
對於matlab本身返回的幾個句子,找到大於某個當量值的面積是比較簡單的。