欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python 實(shí)現(xiàn)一個(gè)反向單位矩陣示例

 更新時(shí)間:2019年11月29日 09:04:34   作者:icaoys  
今天小編就為大家分享一篇python 實(shí)現(xiàn)一個(gè)反向單位矩陣示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

反向單位矩陣

單位矩陣即對(duì)角線(xiàn)為 1,如下:

那么反向的單位矩陣就是反對(duì)角線(xiàn)為 1:

左右鏡像操作

這里采用 numpy 實(shí)現(xiàn)。

方案 1

import numpy as np

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

方案 2

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

這面這兩種方案就可以順利實(shí)現(xiàn)反向單位矩陣的定義了。此外,我們拓展了另外兩種操作。

上下鏡像操作

方法 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)

取上三角和反對(duì)角線(xiàn)元素

取上三角元素

目標(biāo)是:

[[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))

取反對(duì)角線(xiàn)元素

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

==>

[3 5 7]
def DiagData(R_xx, row):
  '''
  取反對(duì)角線(xiàn)元素
  '''
  # vector = []
  vector = np.rot90(R_xx)
  vector = np.diag(vector)

  return vector


print(DiagData(A, row))

以上這篇python 實(shí)現(xiàn)一個(gè)反向單位矩陣示例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python實(shí)現(xiàn)對(duì)字典分別按鍵(key)和值(value)進(jìn)行排序的方法分析

    Python實(shí)現(xiàn)對(duì)字典分別按鍵(key)和值(value)進(jìn)行排序的方法分析

    這篇文章主要介紹了Python實(shí)現(xiàn)對(duì)字典分別按鍵(key)和值(value)進(jìn)行排序的方法,結(jié)合實(shí)例形式分析了Python基于sorted函數(shù)及operator庫(kù)進(jìn)行字典排序的相關(guān)操作技巧,需要的朋友可以參考下
    2018-12-12
  • 最新評(píng)論