Matlab矢量与名称不是数字

时间:2017-09-28 22:36:02

标签: matlab vector names

何我可以制作这样的矢量M = [' Peter',' Maria',' Michelle'等]并从该向量中选择一个随机名称?我想基本上打个乐透。

2 个答案:

答案 0 :(得分:2)

您可以使用(1)<{3>} 个字符向量

M = {'Peter', 'Maria', 'Michelle'};

或者,使用最近推出的cell array数据类型,您可以创建(2)字符串的数组:

M = ["Peter", "Maria", "Michelle"];

然后使用string1numel(M)选择一个随机数:

n = randi(numel(M));

并将其用作M的索引:

  • 使用选项(1),{} - 索引将给出一个字符数组。
  • 使用选项(2),{} - 索引将再次给出一个字符数组。或者您可以使用() - 索引来获取字符串。有关使用字符串建立索引的更多信息,请参见randi

所以:

winner = M{n}; % or winner = M(n);

答案 1 :(得分:0)

使用单元格数组和randi函数;在普通矩阵中,所有字符串的长度必须相同,单元格数组可以包含任意内容

M = {'Peter', 'Maria', 'Michelle'};
name = M{randi([1, numel(M)])};