numpy的使用习题
- 编写程序, 创建一个Python脚本,命名为test1.py,完成以下功能:
(1)生成两个3×3矩阵(数据自己定义),并计算矩阵的和、差和乘积。
(2)求以上矩阵的特征值和特征向量。
(3)对以上矩阵进行奇异分解。
'''
1. 编写程序, 创建一个Python脚本,命名为test1.py,完成以下功能:
(1)生成两个3×3矩阵(数据自己定义),并计算矩阵的和、差和乘积。
(2)求以上矩阵的特征值和特征向量。
(3)对以上矩阵进行奇异分解。
'''
import numpy as np
import random
def getRandomList(len):
return [random.randint(0, 100) for i in range(9)]
def main():
r1 = np.array(getRandomList(9))
ss1 = r1.reshape(3, 3)
r2 = np.array(getRandomList(9))
ss2 = r2.reshape(3, 3)
print(ss1, ss2, sep='\n')
print('和:', ss1 + ss2, '差:', ss1 - ss2, '乘积', ss1 * ss2, sep='\n')
sss1_value, sss1_vector = np.linalg.eig(ss1)
sss2_value, sss2_vector = np.linalg.eig(ss2)
print(sss1_value, sss1_vector, '-' * 10, sss2_value, sss2_vector, sep='\n')
U_1, Sigma_1, V_1 = np.linalg.svd(ss1, full_matrices=False)
U_2, Sigma_2, V_2 = np.linalg.svd(ss2, full_matrices=False)
print('\n', U_1, Sigma_1, V_1, '-' * 20, U_2, Sigma_2, V_2, sep='\n')
if __name__ == '__main__':
main()
运行效果
