2015-02-09 646 views
1

我有一個問題。所以我有一個XxYxZ = 10x5x20的3D矩陣。我想在等值面的幫助下繪製這個矩陣。所以首先我需要創建一個網格網格,但是當我說:[X,Y,Z] = meshgrid(1:10,1:5,1:20)我得到一個5x10x20的網格,但是我想要10x5x20。爲什麼是這樣?我的想法是隻改變X和Y [Y,X,Z] = meshgrid(1:10,1:5,1:20)當我嘗試繪製矩陣的幫助下,這個網格:isosurface(X,Y,Z,M)我得到錯誤「輸入網格不是一個有效的MESHGRID」錯誤:輸入網格不是有效的網格

問題是什麼?

謝謝

回答

5

你被擰MATLAB,x維度是第二和Y尺寸是第一。按照記錄使用它:

[m,n,p] = size(V) 
[X,Y,Z] = meshgrid(1:n,1:m,1:p) 
isosurface(X,Y,Z,V) 

請注意第一行和第二行中交換的n和m的順序。

+0

加1爲「搞砸了」的評論。大聲笑。 – rayryeng 2015-02-09 20:41:26

+0

解決了,謝謝 – user1200276 2015-02-09 20:55:10

+1

奇怪的界面...甚至連'ndgrid'都不能治癒... – knedlsepp 2015-02-11 14:48:36