本文共 839 字,大约阅读时间需要 2 分钟。
把《统计建模与R软件》中的一点课后题,用Python中的numpy实现了一下
import numpy as np#将1,2...,20,组成4x5的矩阵,A为按列输入,B为按行输入A=np.mat(np.arange(1,21)).reshape(5,4).TB=np.mat(np.arange(1,21)).reshape(4,5)print('A:\n',A)print('B:\n',B)#计算A+Bprint('A+B:\n',A+B)#计算A*BTprint('A*BT:\n',A@(B.T))# Eij=(eij)mxn,其中eij=aij*bijE=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,垂直拼接vstackprint('G:\n',G)
运行结果如下:
# 构造一个向量由5个1,3个2,4个3,2个4构成import numpy as npnums=[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)
运行结果如下: