2013-04-25 74 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'}}); 

注單元陣列如何能夠包括在自身電池陣列,所以在這種情況下,你有一個元素的單元陣列(也一個單元陣列)。