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