如何在MATLAB中循环时在数组中插入字符串?

时间:2011-02-24 01:45:39

标签: matlab

如何在MATLAB中循环时在数组中插入字符串?我知道这很简单,但我得到了一个不匹配的错误。这是示例代码。

s={'asd', 'xyzs', 'pqrs','mnopr'};    
for i=1:4
    w=randint(1,1,[1,2]);

    switch w   
      case 1 
        word(i)=s(i);

      otherwise  
        word(i)=3;   
    end   
end

1 个答案:

答案 0 :(得分:2)

您的问题是 s 是一个单元格而单词不是。您可以采取许多措施来解决这个问题,但一种简单的方法是将 word 定义为 size(s)的单元格。然后,您必须在插入之前将任何数字转换为单元格,这意味着您的代码将如下所示:

s={'asd','xyzs','pqrs','mnopr'};

word = cell(size(s));

for i=1:4

    w=randint(1,1,[1,2]);

    switch w

    case 1:

        word(i)=s(i);

    otherwise

        word(i)= num2cell(3);

    end

end