在matlab数组中用数字替换数字

Mat*_*lde 4 arrays string matlab

我在MATLAB中有一组数字,例如,

a = [1 1 1; 2 2 1; 3 3 2; 4 5 1];
Run Code Online (Sandbox Code Playgroud)

我想用字符串替换数字.

例如,1 ="苹果"; 2 ="你好"; 3 ="再见";

我可以用其他数字代替,例如,

a(a==1) = 999
a(a==2) = 998
Run Code Online (Sandbox Code Playgroud)

但我需要通过替换字符串来完成同样的事情.对我来说不容易有人帮助我吗?谢谢,马蒂尔德

Dan*_*iel 5

如果您的号码始终以1并且每个号码都应该被替换,那就是索引:

>> mp={'apples','hello','goodby'}

mp = 

    'apples'    'hello'    'goodby'

>> a = [1 1 1; 2 2 1; 3 3 2]

a =

     1     1     1
     2     2     1
     3     3     2

>> mp(a)

ans = 

    'apples'    'apples'    'apples'
    'hello'     'hello'     'apples'
    'goodby'    'goodby'    'hello' 
Run Code Online (Sandbox Code Playgroud)