Matlab矢量名称不是数字
答
可以使用(1)cell array的特征向量:
M = {'Peter', 'Maria', 'Michelle'};
或者,使用最近推出的string数据类型,你可以创建(2)串数组:
M = ["Peter", "Maria", "Michelle"];
然后,使用randi
选择从1
一个随机数到numel(M)
:
n = randi(numel(M));
,并用它作为一个指数到M
:
- 随着选项(1),
{}
-indexing会给的字符阵列。 - 使用选项(2),
{}
-indexing将再次给出一个字符数组。或者你可以使用()
-indexing来获得一个字符串。有关使用字符串索引的更多信息可以参见here。
所以:
winner = M{n}; % or winner = M(n);
答
使用电池阵列和兰迪功能;在正常矩阵中,所有的字符串必须是相同的长度,单元阵列中可以有任意的内容
M = {'Peter', 'Maria', 'Michelle'};
name = M{randi([1, numel(M)])};