gpt4 book ai didi

matlab - 在 MATLAB 中生成随机 'su doku' 类型矩阵

转载 作者:太空宇宙 更新时间:2023-11-03 20:12:12 25 4
gpt4 key购买 nike

我需要在 MATLAB 中生成一些 5x6 矩阵。它们需要由 1-6 范围内随机生成的整数组成,但是,一个整数在特定行或列中不能出现多次。

这是我目前用来生成随机 5x6 矩阵的脚本:

mat=zeros(5,6);

rows=5;
columns=6;
for i=1:rows
for j=1:columns
mat(i,j)=round(rand*(high-low)+low);
end
end
disp(mat)

但我不知道如何将关于重复的规则插入其中。

我确信这是一个相对简单的问题,但我是 MATLAB 的新手,无法生成满足这些条件的问题。如果有人能提供任何帮助,我将不胜感激。

最佳答案

试试这个:

    m = zeros(5,6);

for row = 1:5
flag = 1;
while(flag)
flag = 0;
R = randperm(6);
for testRow = 1:row
flag = flag + sum(m(testRow,:) == R);
end;
if (~flag)
m(row,:) = R;
end;
end;

end;

m

关于matlab - 在 MATLAB 中生成随机 'su doku' 类型矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9888531/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com