我需要Matlab专家的一些帮助。
我有一个包含14个不同名称列表的单元格数组(名称)。然后我有一个15x3矩阵(选择)和一些0-14的随机数。
现在我要做的是使用"选择"中的每一行。矩阵,用于列出与每个单元格中的数字对应的名称。作为一个例子,第一行是[1 3 12],应该列出名字{Dave Smith Niko}。第三行是[9 2 0]并且应该导致列表{Chris Andy}。 可以将名称列表放在组合的15x3单元阵列中,例如从循环中获取。
请帮我解决这个问题。感谢
Names = {
'Dave'
'Andy'
'Smith'
'Eric'
'Donna'
'Lisa'
'Gawin'
'Bill'
'Chris'
'Crystal'
'Beth'
'Niko'
'Conny'
'Clara'
}
Selection = [
1 3 12;
3 6 8;
9 2 0;
4 2 1;
8 5 7;
3 2 0;
4 7 1;
4 9 12;
0 0 0;
0 0 0;
0 0 0;
0 0 0;
0 0 0;
0 0 0;
0 0 0;
]
答案 0 :(得分:0)
试试这个:
Names(Selection(3,Selection(3,:)~=0))
或者,使用变量:
rownum = 3;Names(Selection(rownum,Selection(rownum,:)~=0))
结果:
ans =
'Chris'
'Andy'
如果在零行上使用:
rownum = 10;Names(Selection(rownum,Selection(rownum,:)~=0))
ans =
Empty cell array: 0-by-1