2010-08-01 81 views
0

嗨,有人可以幫助我在這裏的matlab命令。我必須確定使用文件中的矩陣數據繪製的填充輪廓中的最高點。然後我必須用紅色'x'標記最高點。繪製填充輪廓中的最高點

load('0101862_mod.dtm') % loading the dtm file 
X = X0101862_mod(1:81,:) % we name X0101862, it is the location where the data X, Y and Z is stored 
Y = X0101862_mod(82:162,:) 
Z = X0101862_mod (163:243,:) 

figure (1) 
subplot(2,2,3) 
[C,h] = contourf(X,Y,Z,10); 
xlabel('x'); ylabel('y'); zlabel('z'); title('X0101862_mod'); 
view(-73,34); axis equal; colormap summer; colorbar; 

我知道它涉及'最大'命令。當我使用最大值時保持錯誤。

回答

1

要繪製紅色'X',您必須先調用hold on以確保第二個繪圖命令不會擦除輪廓。然後,您使用plot(xMax,yMax,'xr')在z處於最大值的x/y座標處繪製紅色「x」。

要找到xMaxyMax,您必須使用第二個輸出參數max。作爲第一輸出,MAX返回最大值(例如Z),並且作爲第二輸出返回最大元素的數量。使用該數字(索引)來查找XY中對應於最大值Z值的元素,即xMaxyMax

+0

這是正確的嗎? xMax = max(X); yMax = max(Y); (xMax,yMax,'xr'); – user391967 2010-08-01 13:33:49

+0

編號xMax是對應於最大Z的X.'[zMax,maxIdx] = max(Z);'在'maxIdx'中返回數據向量中'Z'最高的位置。例如,如果它是Z中第5個元素最高,那麼'maxIdx'將是5.相應地,xMax將是'X'的第5個元素,yMax是'Y'的第5個元素。 – Jonas 2010-08-01 15:24:48