2013-12-07 53 views
0

我是真的新的MATLAB,我很努力想知道爲什麼這段代碼不工作。在MATLAB中真的很簡單的循環,但它只是不工作

x = 0; 
for i=1:15 
    x = x+1; 
    for y=1:3 
     for z=1:5 
      img=cell2mat(TopStims(y,z)); 
      subplot(5,3,x) 
      image(img) 
      title(TopNames(y,z)) 
      axis off+ 
     end 
    end 
end 

我要製作的是15幅圖像的5 * 3的插曲,服用TopStims爲我的圖片,並使用這個循環索引到每一個。但是當我這樣做的時候,它正在寫它,所以我得到了TopStims(1,3)的圖像和標題15次,我只是不明白爲什麼。

HALP

回答

1

我認爲你需要的x更新移動到最內層的循環(然後你for i循環是不必要的):

x = 0; 
for y = 1:3 
    for z = 1:5 
     x = x + 1; 
     img = cell2mat(TopStims(y,z)); 
     subplot(5,3,x) 
     image(img) 
     title(TopNames(y,z)) 
     axis off 
    end 
end 
+0

不,它仍然是這樣做! – EllesBellz

+0

@ user3078374你確定你的'TopStims'和'TopNames'變量包含不同的圖像/標題嗎? –

+0

實際上現在它似乎在執行y循環,但我現在正在「索引超出矩陣尺寸」。信息。 – EllesBellz