完成代码,输入是一个整数N,要求返回一个N行N列的矩阵,对角线元素值为N,其余位置值全为N-1。数组的数据类型为numpy.ndarray。 示例 : 输入:3 输出: [[2. 1. 1.] [1. 2. 1.] [1. 1. 2.]] 限制: 1<N<10000
时间: 2024-02-25 08:55:14 浏览: 77
输入一个矩阵,输出一个结果
以下是实现这个功能的 Python 代码,使用了 Numpy 库:
```python
import numpy as np
def generate_matrix(N):
res = np.full((N, N), N-1) # 初始化矩阵为全 N-1
np.fill_diagonal(res, N) # 将对角线填充为 N
return res
```
使用 `np.full()` 初始化一个 N 行 N 列的矩阵,元素值均为 N-1。然后使用 `np.fill_diagonal()` 将对角线上的元素修改为 N。最后返回修改后的矩阵即可。
需要注意的是,输入的 N 必须在 1 到 10000 之间,否则会因为内存或计算时间不足而崩溃。
阅读全文