我有一個東西叫做allWords,這對於一些原因,我不得不指數隨大括號:類型如何在MATLAB/Octave中工作?
allWords{1}
ans =
9x1 struct array containing the fields:
img
groundTruth
在它是手寫字符九張圖像,如果我將它們賦值給一個變量:
a=allWords{1}(1).img
b=allWords{1}(2).img
c=allWords{1}(3).img
d=allWords{1}(4).img
e=allWords{1}(5).img
f=allWords{1}(6).img
g=allWords{1}(7).img
h=allWords{1}(8).img
i=allWords{1}(9).img
做到這一點,然後我可以看到手寫的文字,因爲它是在它被切碎之前。
imshow([a b c d e f g h i])
這比我以前的版本更漂亮:
# the first word
n=1
l=length(allWords{n})
for i = 1:l, subplot(1,l,i); imshow(allWords{n}(i).img); end;
這使不必要的空格在圖像之間。
然而,這是非常醜陋的,我如何概括它並簡化它?
這看起來顯而易見的事情,但waah waah,配不上該死的Matlab的:
imshow(allWords{1}.img)
愚蠢堆。有沒有人有任何提示,以找出事物的類型,或找出什麼類型將魔法變成其他類型,什麼不會或如何血腥索引工作或任何形式的邏輯解釋爲什麼這種整個惡劣的混亂以這種方式結束?
真棒,謝謝!你能指點我一個教程或一組手指練習,這將使我能夠理解類型系統嗎?例如,我怎麼知道allWords {1} .img是一個'逗號分隔列表'?是否有類型(allWords {1} .img)? – 2013-05-06 22:31:50
MATLAB文檔通常是一個很好的開始。逗號分隔列表本身不是一種類型。這裏是一個解釋他們的頁面:http://www.mathworks.com/help/matlab/matlab_prog/comma-separated-lists.html。另外這裏是專用於數據類型的部分:http://www.mathworks.com/help/matlab/data-types_data-types.html – Amro 2013-05-06 22:35:00