我想将矩阵的数字输出映射到字符串。
鉴于
compute=[ 7, 4, 3; 3, 4, 7]
如何获得字符串映射为
Out=[Run, Walk, Jog; Jog, Walk, Run]
实际输出可能是字符串的单元格数组。
答案 0 :(得分:3)
>> map={'a','b','Jog','Walk','e','f','Run'}
map =
'a' 'b' 'Jog' 'Walk' 'e' 'f' 'Run'
>> map(compute)
ans =
'Run' 'Walk' 'Jog'
'Jog' 'Walk' 'Run'
答案 1 :(得分:2)
我假设你有一个单元格数组的地图
>> map{3} = 'Jog';
>> map{4} = 'Walk';
>> map{7} = 'Run';
现在使用地图
map( compute )
将为您提供字符串的单元格数组
答案 2 :(得分:1)
MATLAB有一个Map
container type,这使得它非常直观:
keySet = [7, 4, 3];
valSet = {'Run', 'Walk', 'Jog'};
map = containers.Map(keySet,valSet);
获取请求的值:
>> vals = values(map,num2cell(compute))
vals =
'Run' 'Walk' 'Jog'
'Jog' 'Walk' 'Run'
毕竟这是一个类,所以你也可以使用更熟悉的OOP语法来调用values
method:
>> vals = map.values(num2cell(compute))
vals =
'Run' 'Walk' 'Jog'
'Jog' 'Walk' 'Run'
答案 3 :(得分:0)
您可以使用单元格数组
strs = {'one','two','Jog','Walk','five','six','Run'};
compute = [7,4,3; 3,4,7];
out = strs(compute);
out =
'Run' 'Walk' 'Jog'
'Jog' 'Walk' 'Run'