【问题标题】:Map matrix element to string将矩阵元素映射到字符串
【发布时间】:2013-11-19 18:53:54
【问题描述】:

我想将数字输出从矩阵映射到字符串。

给定

compute=[ 7, 4, 3; 3, 4, 7]

如何获得一个字符串映射为

Out=[Run, Walk, Jog; Jog, Walk, Run]

实际的输出可能是一个字符串元胞数组。

【问题讨论】:

  • 我喜欢一个问题在前五分钟得到 3 个答案。你几乎可以听到“哦!我知道这个!”的同时喊叫声

标签: string matlab map mapping


【解决方案1】:
>> 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'

【讨论】:

    【解决方案2】:

    我假设您拥有元胞数组形式的地图

    >> map{3} = 'Jog';
    >> map{4} = 'Walk';
    >> map{7} = 'Run';
    

    现在使用地图

    map( compute )
    

    会给你一个字符串元胞数组

    【讨论】:

      【解决方案3】:

      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'
      

      【讨论】:

        【解决方案4】:

        你可以使用元胞数组

        strs = {'一','二','慢跑','步行','五','六','跑'};

        计算=[ 7, 4, 3; 3, 4, 7];

        out = strs(计算);

        输出 =

        'Run'    'Walk'    'Jog'
        'Jog'    'Walk'    'Run'
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-06-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多