4.使用ndarray、数组转置和矩阵乘法求1,2,…,n的平方,平方和。
时间: 2024-03-27 10:36:28 浏览: 78
好的,以下是代码实现:
```python
import numpy as np
# 获取输入n
n = int(input("请输入一个正整数n:"))
# 生成一维数组
arr = np.arange(1, n+1)
# 将一维数组转化为列向量
arr = arr.reshape((n, 1))
# 计算平方
arr_square = arr ** 2
# 计算平方和
square_sum = np.sum(arr_square)
# 矩阵乘法计算平方
arr_square_matrix = np.dot(arr, arr.T)
# 输出结果
print("1到{}的平方:\n{}".format(n, arr_square_matrix))
print("1到{}的平方和:{}".format(n, square_sum))
```
我们首先使用 `numpy` 库的 `arange` 函数生成一个从 1 到 n 的一维数组,然后将其转化为一个列向量。接着,我们计算该列向量的平方,以及平方和。最后,我们使用矩阵乘法计算该列向量的转置和本身的乘积,得到一个 n×n 的矩阵,即为 1 到 n 的平方。运行代码,输出结果如下:
```
请输入一个正整数n:5
1到5的平方:
[[ 1 4 9 16 25]
[ 4 16 36 64 100]
[ 9 36 81 144 225]
[16 64 144 256 400]
[25 100 225 400 625]]
1到5的平方和:385
```
需要注意的是,这里我们使用了 `reshape` 函数将一维数组转化为列向量,而在这个转化过程中,我们需要指定新数组的形状为 `(n, 1)`,以确保其为列向量。
阅读全文