我已经看过其他一些问题,但我无法得出答案,我对MatLab相对较新(但不是编程),所以如果它重复,我会道歉。
我确定标题不是很清楚所以这是一个例子:
我有一个数组,比如name = ['Jack';'Jill'];
。此数组中的元素引用其他数组,例如:
Jack.income = 31000;
Jack.car = 1;
Jill.income = 55000;
Jill.car = 0;
现在,我想使用name
从其他数组中提取数据,例如:
data = name(1).income
,应返回31000
或data = name(2).car
,返回0
。
对此的任何帮助将不胜感激。
非常感谢,
埃里克
答案 0 :(得分:1)
你最好使用一组结构(或者自己创建一个对象):
people(1).name = 'Jack';
people(1).income = 31000;
people(1).car = 1;
people(2).name = 'Jill';
people(2).income = 55000;
people(2).car = 0;
现在您可以生成这样的名称列表(请参阅cell arrays和comma separated lists):
names = {people.name};
您可以将其转换为这样的索引(请参阅logical indexing和ismember):
ind = ismember(names, 'Jack');
然后最终提取某人的收入:
people(ind).income