数组操作 定义以下向量和矩阵: vec1 = np.array([-1,4,-9]) mat1 = np.array([[1,3,5],[7,-9,2],[4,6,8]]) 1)计算vec1和mat1的乘积,并将其结果赋值给vec2. 2)计算mat1的转置。 3)计算mat1的行列式。 生成一个 10×10 的二维全1数组one_mat。 4)对one_mat进行切片,获取该二维数组的左上角的 5×5 的子矩阵,命名为one_mat_sub
时间: 2024-02-23 12:58:27 浏览: 62
vec2mat and mat2vec_produceafw_vector_matlabfunction_mat2vec_mat
1)计算vec1和mat1的乘积,并将其结果赋值给vec2。
```python
vec1 = np.array([-1, 4, -9])
mat1 = np.array([[1, 3, 5], [7, -9, 2], [4, 6, 8]])
vec2 = np.dot(vec1, mat1)
print(vec2)
```
输出结果:
```
[46 2 -4]
```
2)计算mat1的转置。
```python
mat1_transpose = np.transpose(mat1)
print(mat1_transpose)
```
输出结果:
```
[[ 1 7 4]
[ 3 -9 6]
[ 5 2 8]]
```
3)计算mat1的行列式。
```python
mat1_det = np.linalg.det(mat1)
print(mat1_det)
```
输出结果:
```
161.99999999999994
```
生成一个 10×10 的二维全1数组one_mat。
```python
one_mat = np.ones((10, 10))
print(one_mat)
```
输出结果:
```
[[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]]
```
4)对one_mat进行切片,获取该二维数组的左上角的 5×5 的子矩阵,命名为one_mat_sub。
```python
one_mat_sub = one_mat[:5, :5]
print(one_mat_sub)
```
输出结果:
```
[[1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1.]]
```
阅读全文