我想将数字输出从矩阵映射到字符串。
给定
compute=[ 7, 4, 3; 3, 4, 7]
如何获得字符串映射为
Out=[Run, Walk, Jog; Jog, Walk, Run]
实际输出可能是一个字符串元胞数组。
>> 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'
我假设您拥有单元格数组形式的地图
>> map{3} = 'Jog';
>> map{4} = 'Walk';
>> map{7} = 'Run';
现在使用地图
map( compute )
会给你一个字符串的单元格数组
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
方法:
>> vals = map.values(num2cell(compute))
vals =
'Run' 'Walk' 'Jog'
'Jog' 'Walk' 'Run'
您可以使用单元格数组
strs = {'一','二','慢跑','步行','五','六','跑'};
计算=[ 7, 4, 3; 3、4、7];
out = strs(计算);
出=
'Run' 'Walk' 'Jog'
'Jog' 'Walk' 'Run'