怎么随机生成都是整数的矩阵
时间: 2024-10-21 17:06:02 浏览: 8
opencv-ex3-1.rar_opencv随机矩阵_正态分布 Visual_生成矩阵_矩阵 生成_随机矩阵
在MATLAB中,你可以使用`randi`函数来生成指定范围内的随机整数矩阵。这个函数的基本语法如下:
```matlab
matrix = randi([lower, upper], rows, cols)
```
这里:
- `lower`: 表示你希望整数的最小值(包括该值)。
- `upper`: 表示你希望整数的最大值(不包括该值)。
- `rows`: 是矩阵的行数。
- `cols`: 是矩阵的列数。
例如,如果你想要生成一个10x10的从1到50之间的随机整数矩阵,代码将会是:
```matlab
matrix = randi(50, 10, 10);
```
如果你想确保每个元素都是唯一的,你可以先生成一个指定大小的全排列,然后用`unique`函数去除重复并重新随机排序:
```matlab
[row, col] = meshgrid(1:10, 1:10);
unique_indices = unique(randperm(prod([row, col]), numel(row)));
matrix = sort(unique_indices) + (row - 1)*size(matrix, 2) + (col - 1);
```
请注意,这种方法不一定总能得到完全不重复的矩阵,特别是对于较大的矩阵或较小的取值范围。
阅读全文