2013-04-25 76 views
0

当我这样做:八度中,字面结构是什么?

pedigree = struct('parents', [0,0;1,3;0,0]); 
pedigree.names = {'Ira','James','Robin'}; 

我得到一个不同的事情时,我这样做:

pedigree = struct('parents', [0,0;1,3;0,0], 'names', {'Ira','James','Robin'}); 

什么是两件事情,他们如何不同,有一个文字形式的任何是由第一件事情产生的,更一般地说,对于正在发生的事情而言,这些词语是什么?

回答

1

事情是,一个结构也是一个数组。当创建使用struct命令一个结构如

pedigree = struct('parents', [0,0;1,3;0,0], 'names', {'Ira','James','Robin'}); 

每个的值应该是一个单元阵列,单元阵列的每个元素被分配。这是将矩阵[0 0; 1 3; 0 0]分别设置为全部pedigree.parentsIra,JamesRobinpedigree(1).names,pedigree(2).namespedigree(3).names。做你想做的,只是传递一个单元阵列与一个单一的元素:

pedigree = struct ("parents", [0,0;1,3;0,0], 
        "names", {{'Ira','James','Robin'}}); 

注单元阵列如何能够包括在自身电池阵列,所以在这种情况下,你有一个元素的单元阵列(也一个单元阵列)。