随机生成部分为零的矩阵
时间: 2023-05-30 13:01:50 浏览: 65
随机生成矩阵
以下是一个随机生成部分为零的矩阵的Python程序示例:
```python
import numpy as np
def random_sparse_matrix(n, density):
# n是矩阵的大小
# density是矩阵中元素为零的比例
total_elements = n*n
non_zero_elements = int(total_elements * (1 - density))
# 生成一个全零矩阵
matrix = np.zeros((n, n))
# 随机选择非零元素的位置
non_zero_indices = np.random.choice(total_elements, non_zero_elements, replace=False)
# 将这些位置的元素设置为随机值
matrix[np.unravel_index(non_zero_indices, (n, n))] = np.random.rand(non_zero_elements)
return matrix
```
这个函数接受两个参数:矩阵的大小n和矩阵中元素为零的比例density。它首先计算矩阵中应该有多少个非零元素,然后生成一个全零矩阵。接下来,它使用numpy的random.choice函数随机选择一些位置,将这些位置的元素设置为随机值。最后,它返回这个矩阵。
阅读全文