gpt4 book ai didi

matlab - 如何在行和列中不重复的情况下生成随机矩阵?

转载 作者:太空宇宙 更新时间:2023-11-03 19:55:30 28 4
gpt4 key购买 nike

如何生成具有特定范围的行和列不重复的随机矩阵

示例 (3x3):范围 1 到 3

2 1 3
3 2 1
1 3 2

示例 (4x4):范围 1 到 4

4 1 3 2
1 3 2 4
3 2 4 1
2 4 1 3

最佳答案

解决这个问题的一种方法是生成一个循环矩阵并将其打乱。

mat_size = 4    
A = gallery('circul', 1:mat_size); % circular matrix
B = A( randperm(length(A)) , randperm(length(A)) ); % shuffle rows and columns with randperm

它给了

A =
1 2 3 4
4 1 2 3
3 4 1 2
2 3 4 1

B =
3 4 1 2
2 3 4 1
4 1 2 3
1 2 3 4

这个方法应该很快。在 0.047021 秒内计算出一个 11 大小的问题。

关于matlab - 如何在行和列中不重复的情况下生成随机矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26242944/

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