我有一个名为Game
的1x5结构数组,有两个字段,即
Game(5) = struct(Points, Scorers);
现在,我还有一个单元格数组(5x2单元格数组)(从xlsread
导入 - 所以它全部采用单元格数组形式)。
pts = [1 2;3 4;5 6;7 8;9 10];
我应该如何分别为pts
中的5个结构中的每一个分配Game
的每一行?
例如:Game(3).Points
应该是3
的行pts
([5 6]
)。
Game(2).Points
应为[3 4]
。 Game(1).Points
将为[1 2]
。
答案 0 :(得分:0)
如果您的工作表有条理,行对应于观察,而列对应变量 - 例如点(数字)和记分员(字符串) - 您可以使用以下方法将数据导入Matlab:
[pts, scr] = xlsread(file);
然后您可以简单地将矩阵pts
和单元格数组scr
读入结构数组的每个字段中:
Game = struct('Points', num2cell(pts,2), 'Scorers', scr);
利用struct()
的内置功能将输出维度与其输入匹配,避免使用for
循环迭代地将导入的值分配给字段。