matlab 如何生成这样的矩阵 1 1 1 1 1 2 1 1 3 1 2 2 1 2 3 1 3 3 2 2 2 2 2 3 2 3 3 3 3 3

每列重1加到3怎么把答案删了?
2025年03月12日 21:13
有2个网友回答
网友(1):

楼主这个是每行三列的吧,下面这些代码能实现生成这组数

x=[1 1 1]; i = 1;
while x(i,1)<3
while x(i,2)<3
while x(i,3)<3
i=i+1;
x(i,:)=x(i-1,:);
x(i,3)=x(i,3)+1; %从第一列开始检查,小于3则加1
end;
i=i+1;
x(i,:)=x(i-1,:);
x(i,2)=x(i,2)+1;
if x(i,2)<3 %进位后判断该位置是否小于3,是则将其后一位减1
x(i,3)=x(i,3)-1;
end
end;
i=i+1;
x(i,:)=x(i-1,:);
x(i,1)=x(i,1)+1;
if x(i,1)<3 %进位后判断该位置是否小于3,是则将其后l两位均减1
x(i,2)=x(i,2)-1;
x(i,3)=x(i,3)-1;
end
end
%%最后得到的x,就是你要的矩阵了

网友(2):

LZ按矩阵形式写一下