2012-05-29 96 views
1

我使用Matlab進行編碼,並且粗體行(containers = [containers(1:j-1); containers(j + 1:end)];Matlab使用vertcat時出錯

Error using vertcat 
CAT arguments dimensions are not consistent. 

Error in fillContainerWithPolygons (line 77) 
       containers = [containers(1:j-1); containers(j+1:end)]; 

問題是,我有時只是得到它(並不總是)。 (容器(1:j-1)= [13x2 double]和容器(j + 1:end)= [4x2 double])的錯誤,以防萬一,容器是一組矩陣,

我搜索並搜索了很多,但我沒有找到問題, 任何想法將不勝感激。

回答

2

嗯,你能避免通過只是說

containers(j, :) = [] 

也有你的問題的東西了,因爲containers(1:j-1)不能13X2,它一定是NX1。我假設你的意思是containers(1:j-1, :)

我認爲原因j+1:end可能只是一個元素,它被視爲一個列,因爲你沒有指定j+1:end, :

+0

謝謝,我感謝你的第一部分答案(容器(j,:) = [])。關於爲什麼容器(1:j-1)可以是13x2,我應該說,正如我在問題中提到的那樣,它是一組矩陣,所以假設j等於2,因此我們可以有容器(1)= [13x2]這是一個有13行和2列的矩陣,我不得不說爲什麼前一個是錯誤的,因爲j + 1:end可能是一個矩陣,可以將它添加到一個集合中 – csuo