如何用matlab中的字符串替换矩阵的列?

时间:2013-11-17 17:56:22

标签: matlab

我目前有一个带数字的矩阵 totscoreT =

1.0000   28.3748
2.0000  -29.2461
3.0000    4.4731
4.0000   -6.2393
5.0000    2.6375

并希望用字符串替换第一列,例如 totscoreT =

team A   28.3748
team B  -29.2461
team C    4.4731
team D   -6.2393
team E    2.6375

我还需要能够根据第二列中的值添加字符串后对行进行排序 ans =

1.0000    team A   28.3748
2.0000    team C    4.4731
3.0000    team E    2.6375
4.0000    team D   -6.2393
5.0000    team B  -29.2461

如果我使用1 =团队A,2 =团队B,......,我知道如何做到这一点,但我想改用名字。

1 个答案:

答案 0 :(得分:3)

您是否考虑过使用Cell阵列?

要做到这一点,你可以从你的数组totscoreT以编程方式填充Cell数组,但为了说明我将手动设置它:

C = {'team A', 'team B', 'team C', 'team D', 'team E' ;
     28.3748, -29.2461, 4.4731, -6.2393, 2.6375};

然后使用转置显示,例如:

>> C'

给出:

'team A'    [ 28.3748]
'team B'    [-29.2461]
'team C'    [  4.4731]
'team D'    [ -6.2393]
'team E'    [  2.6375]

然后您可以访问以下元素:

>> C{1,2}

ans =

team B

>> C{2,2}

ans =

  -29.2461