我有一个东西叫做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