在 Matlab 中使用 'for' 循环生成字母

Generating letters using 'for' loop in Matlab

我必须生成 80 个随机的英文字母(大写字母)并使用 'for' 循环将它们显示在一行中,每行 10 个字母。我得到一个错误,因为限制是 26。我要在代码中更改什么?

alfabet = 'A' : 'Z'; 
for i = 1 : 80
temp = alfabet(i);  
swop = floor(rand *26  + 1); 
alfabet(i) = alfabet(swop); 
alfabet(swop) = temp;
end 
for i = 1 : 10 : 80
disp(alfabet(i : i + 9))
end

实际上它可能是 one-liner:

disp((char('A'+randi(26,8,10)-1)));

当然你可以用“for”来分割它:

alfabet=char('A'+randi(26,1,80)-1);
for i = 1 : 10 : 80
    disp(alfabet(i : i + 9))
end

如果出于某种原因您必须对随机字母使用“for”:

for i=1:80
    alphabet(i)=char('A'+randi(26)-1);
end

坦白说,我觉得这部分没有吸引力。