如何在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
答案 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