当我这样做时:
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'});
这两件事是什么,它们有什么不同,是否存在第一件事所做的任何文字形式,更一般地说,对于发生的事情,这些字是什么?
答案 0 :(得分:1)
问题是结构也是一个数组。使用{/ 1}}命令创建结构时,如
中所示struct
每个的值应该是一个单元格数组,每个元素都要分配一个单元格数组。这样做是将矩阵pedigree = struct('parents', [0,0;1,3;0,0], 'names', {'Ira','James','Robin'});
设置为所有[0 0; 1 3; 0 0]
,将pedigree.parents
,Ira
和James
设置为Robin
,pedigree(1).names
,和pedigree(2).names
分别。要做你想做的事,只需传递一个包含单个元素的单元格数组:
pedigree(3).names
请注意单元格数组本身如何包含单元格数组,因此在这种情况下,您将拥有一个包含单个元素(也是单元格数组)的单元格数组。
答案 1 :(得分:-1)
在这里可以找到很多启示:
https://www.gnu.org/software/octave/doc/interpreter/Data-Containers.html#Data-Containers
答案 2 :(得分:-1)