Matlab - 我如何标记变量?

时间:2013-05-23 13:05:06

标签: matlab variables label

我有一个包含人口数据的矩阵和一个矢量,可以参考每种类型的数据示例,年龄,国家,性别,身高,种族。  我需要在代码的一部分中使用这些字符串作为char 1x1。我想要建立一些关系

variables =  {'age', 'a';
           'gender', 'b';
          'country', 'c';
           'height', 'd';
        'ethnicity', 'e'};

我想要的是,无论何时我使用leters,'a','b','c','d'或'e',代码都知道我想使用'age','gender' ,'country','height'或'ehtnicity'分别。

我怎么能这样做? 谢谢!

1 个答案:

答案 0 :(得分:4)

您有两种选择:

更常见的方法是使用结构:

codes.a = 'age';
codes.b = 'gender';
...

因此,只要您需要代码,只需获取等效结构成员的值:

character_you_typed = 'a';
getfield(codes, character_you_typed)

或(基于@Amro的评论):

codes.(character_you_typed)

此方法不会将您限制为单字符键。另一种方法是使用最近添加的Map容器​​和'char'键:

codes = containers.Map('KeyType', 'char');
codes('a') = 'age';
codes('b') = 'gender';
...

然后:

character_you_typed = 'a';
codes(character_you_typed) 

第二种方法看起来好多了,但不幸的是,你只能使用一个字符来锁定密钥。