1.创建一个Python脚本,命名为test1.py,完成以下功能:
定义一个列表list1=[1,2,4,6,7,8],将其转化为数组N1
定义一个元组tup1=(1,2,3,4,5,6),将其转化为数组N2
利用内置函数,定义一个1行6列元素全为1的数组N3
将N1,N2,N3垂直连接,形成一个3行6列的二维数组N4, 将N4保存为Python二进制数据文件(.npy格式)。

import numpy as np
list1 = [1,2,3,4,6,8]
N1 = np.array(list1)

tup1 = (1,2,3,4,5,6)
N2 = np.array(tup1)

#N3 = [[1]*6 for i in range(1)]
N3 = np.ones([1,6])    #创建一个二维数组 用1填充

N4 = np.vstack((N1,N2,N3))    #数组垂直连接
print(N4)
np.save('N4',N4)              #数组保存为.npy文件

2.创建一个Python脚本,命名为test2.py,完成以下功能:
加载练习1中生成的Python二进制数据文件,获得数组N4
提取N4第1行中的第2、4个元素,第3行中的第1、5个元素,组成一个新的二维数组N5
将N5与练习1中的N1进行水平合并,生成一个新的二维数组N6。

import numpy as np
N4 = np.load('N4.npy')
N5 = np.array([N4[0][1],N4[0][3],N4[2][0],N4[2][4]])
N1 = np.array(N4[0])
print(N5)
print(N1)
N6 = np.hstack((N5,N1))   #数组水平连接
print(N6)
  1. 创建一个Python脚本,命名为test3.py,完成以下功能:
    (1)生成两个2×2矩阵,并计算矩阵的乘积。
    (2)求矩阵求矩阵 的特征值和特征向量。
    (3)设有矩阵 ,试对其进行奇异分解。
    (4)设有行列式 ,求其转置行列式 ,并计算 和 。
import numpy as np
arr = np.matrix([[1,4],[1,6]])
arr1 = np.matrix([[2,4],[3,6]])
a = arr*arr1
print(a)
a1,a2 = np.linalg.eig(arr1)  #特征值和特征向量
print(a1,a2)
#矩阵的奇异分解
arr2 = np.mat("4.0,11.0,14.0;8.0,7.0,-2.0")
z1,z2,z3 = np.linalg.svd(arr2, full_matrices=False)
print(z1,z2,z3)
arr3 = np.mat("3,4;5,6")
arr4 = arr3.T          #行列式的转置 H共轭转置 I返回自身的逆矩阵
print(arr4)
q = np.linalg.det(arr3)  #行列式的值
print(q)
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐