Python numpy小练习

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CSDN_wujian/article/details/83351904

把《统计建模与R软件》中的一点课后题,用Python中的numpy实现了一下
在这里插入图片描述

import numpy as np
#将1,2...,20,组成4x5的矩阵,A为按列输入,B为按行输入
A=np.mat(np.arange(1,21)).reshape(5,4).T
B=np.mat(np.arange(1,21)).reshape(4,5)
print('A:\n',A)
print('B:\n',B)
#计算A+B
print('A+B:\n',A+B)
#计算A*BT
print('A*BT:\n',A@(B.T))
# Eij=(eij)mxn,其中eij=aij*bij
E=np.multiply(A,B)
print('E:\n',E)
#F是A中前三行和前三列构成的矩阵
F=A[0:3,0:3]
print('F:\n',F)
#G是B中各列构成的矩阵,但不包括第三列
G=np.hstack((B[:,0:2],B[:,3:]))#水平拼接hstack,垂直拼接vstack
print('G:\n',G)

运行结果如下:
在这里插入图片描述
在这里插入图片描述

# 构造一个向量由5个1,3个2,4个3,2个4构成
import numpy as np
nums=[1,2,3,4]
repeats=[5,3,4,2]
arr=np.repeat(nums,repeats)
print(arr)

运行结果如下:
在这里插入图片描述

在这里插入图片描述

import numpy as np
#生成一个5阶的hilbert矩阵
H=np.mat([[1/(i+j-1) for j in range(1,6)] for i in range(1,6)])
print('H:\n',H)
#求矩阵的行列式
print('H的行列式:\n',np.linalg.det(H))
#求矩阵的逆矩阵
print('H的逆矩阵:\n',H.I)
# 求矩阵的特征值和特征向量
a,b=np.linalg.eig(H)
print('特征值:\n',a)
print('特征向量:\n',b)

运行结果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/CSDN_wujian/article/details/83351904
今日推荐