网络编程
位置:首页>> 网络编程>> Python编程>> python 实现一个反向单位矩阵示例

python 实现一个反向单位矩阵示例

作者:icaoys  发布时间:2023-07-27 16:05:51 

标签:python,反向单位,矩阵

反向单位矩阵

单位矩阵即对角线为 1,如下:

python 实现一个反向单位矩阵示例

那么反向的单位矩阵就是反对角线为 1:

python 实现一个反向单位矩阵示例

左右镜像操作

这里采用 numpy 实现。

方案 1


import numpy as np

A = np.eye(3)
print(A)

B1 = np.fliplr(A)
print(B1)

方案 2


B2 = A[:,::-1]
print(B2)

这面这两种方案就可以顺利实现反向单位矩阵的定义了。此外,我们拓展了另外两种操作。

上下镜像操作

方法 1


import numpy as np

b = [1, 2, 3]
B = np.diag(b)
print(B)
# [[1 0 0]
# [0 2 0]
# [0 0 3]]

B3 = np.rot90(B)
print(B3)
# [[0 0 3]
# [0 2 0]
# [1 0 0]]

方法 2


B4 = np.flipud(B)
print(B4)

取上三角和反对角线元素

取上三角元素

目标是:


[[1 2 3]
[4 5 6]
[7 8 9]]

==>

[2. 3. 6.]

import numpy as np

row = 3
A = np.arange(row**2)+1
A = np.mat(A.reshape([row, row]))
# print(A)

def ReduceData(R_xx, row):
 '''
 取上三角元素
 '''
 vector = []
 for i in range(0, row):
   a = R_xx[i, i + 1:]
   vector = np.append(vector, a)

return vector

print(ReduceData(A, row))

取反对角线元素


[[1 2 3]
[4 5 6]
[7 8 9]]

==>

[3 5 7]

def DiagData(R_xx, row):
 '''
 取反对角线元素
 '''
 # vector = []
 vector = np.rot90(R_xx)
 vector = np.diag(vector)

return vector

print(DiagData(A, row))

来源:https://blog.csdn.net/qq_23947237/article/details/88786092

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com