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

python數(shù)組和矩陣的用法解讀

 更新時間:2023年05月22日 15:43:15   作者:wxyld  
這篇文章主要介紹了python數(shù)組和矩陣的用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

python數(shù)組和矩陣

先創(chuàng)建一個一維數(shù)組

直接定義一個數(shù)組:

a = [1,2,3,4,5]
b = ['a','c','c','s']
print(a)
print(b)

輸出結(jié)果:

通過鍵盤輸入一個數(shù)組,每個數(shù)用空格隔開:

a = input().split(' ')
print(a)

輸出結(jié)果:

但是這個時候返回的a是一個字符串類型的列表,要轉(zhuǎn)換為想要的類型該怎么做呢?

轉(zhuǎn)換成int類型:

a = input().split(' ')
print(a)
#遍歷每個元素進行轉(zhuǎn)換
c=[]
for i in a:
   c.append(int(i))
for i in range(0,len(c)):
    print(c[i],end=" ")
print()
#使用內(nèi)置函數(shù)map()
d=list(map(int,a))
for i in range(0,len(d)):
    print(d[i],end=" ")
print()
#利用列表的推導(dǎo)式
e=[int(i) for i in a]
for i in range(0,len(e)):
    print(e[i],end=" ")

輸出結(jié)果:

二維數(shù)組該如何創(chuàng)建呢?

直接循環(huán)定義:

arr = [[0] * 3 for i in range(2)]
print(arr)
arr[0][1] = 1
print(arr)

高級方法有沒有?當(dāng)然有,就是numpy包的使用

import numpy as np
#創(chuàng)建全零數(shù)組,使用頻率高
#dtype 默認float類型
arr = np.zeros((2,5),dtype=int)
print(arr)
arr[1][0] = 1
print(arr)
#可以將兩個創(chuàng)建好的一維數(shù)組生成一個二維數(shù)組
a = np.array([[1,2,3],[4,5,6]])
print(a)
a[0][0] = 0
print(a)

數(shù)組與矩陣

矩陣是一種二維數(shù)據(jù)結(jié)構(gòu),和二維數(shù)組相似,但二者又有很大差別。很多時候我們都直接將二維數(shù)組當(dāng)作矩陣運算

其實就是numpy中mat()函數(shù)和array()函數(shù)的區(qū)別:

聊區(qū)別就先看看他們的相同的用法,兩者都可以進行矩陣運算

import numpy as np
a1 = np.array([[1,2,3], [4,5,6]])
b1 = np.mat([[1,2,3], [4,5,6]])
a2 = np.array(([1,2,3], [4,5,6]))
b2 = np.mat(([1,2,3], [4,5,6]))
a3 = np.array(((1,2,3), (4,5,6)))
b3 = np.mat(((1,2,3), (4,5,6)))

輸出結(jié)果都是

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-bLtREpG7-1639061623832)(C:\Users\標哥np\Desktop\學(xué)習(xí)筆記\image-20211209220322114.png)]

他們得到的矩陣性質(zhì)不同,在矩陣乘法的使用也不同。

mat()和 array ()后面加上 .T 得到轉(zhuǎn)置。但是mat()還可以在后面加 .H 得到共軛矩陣, 加 .I 得到逆矩陣

array()乘法:*代表點乘(對應(yīng)元素相乘),dot()代表矩陣乘(叉乘)。

mat()乘法:*代表矩陣乘(叉乘),multiply()代表點乘。

import numpy as np
a = np.array([[1,2,3], [4,5,6],[7,8,9]])
b = np.mat([[1,2,3], [4,5,6],[7,8,9]])
c = np.ones((3,3),dtype=int)
print(a)
print(b)
print(c)
#叉乘
print(np.dot(a,c))
print(np.dot(b,c))
#點乘
print(np.multiply(b,c))
print(a*c)

輸出結(jié)果:

array()的平方是矩陣對應(yīng)位置數(shù)的平方,mat()的平方是矩陣乘積

print("a的平方",a**2)
print("b的平方",b**2)

輸出結(jié)果:

python矩陣的基本運算

一、python矩陣操作

先引入numpy,以后的教程中,我們都引用為np作為簡寫

使用mat函數(shù)創(chuàng)建一個2X3矩陣

使用shape獲取矩陣大小

使用下標讀取矩陣中的元素

進行行業(yè)轉(zhuǎn)換

通常情況下,使用二維數(shù)組代替矩陣來進行矩陣運算,可見矩陣和數(shù)組基本上都可以

加減法同樣

當(dāng)然列表是不能這么盡興加減的

二、python矩陣乘法

使用Python的numpy包進行矩陣的乘法運算

使用二位數(shù)組創(chuàng)建兩個矩陣A和B

矩陣的數(shù)乘,即矩陣的每一個元素乘以該數(shù)

dot函數(shù)用于矩陣乘法,對于二維數(shù)組,它計算的是矩陣乘積,對于一維數(shù)組,它計算的是內(nèi)積。注意交換矩陣的前后位置會導(dǎo)致不同的結(jié)果

再建立一個二位數(shù)組

驗證矩陣乘法的結(jié)合性(AB)C=A(BC)

加法的分配性:(A+B)C=AC+BC,C(A+B)=CA+CB

數(shù)乘的結(jié)合性

使用eye創(chuàng)建一個單位矩陣

一個矩陣

A乘以一個單位矩陣,還是它本身

三、python矩陣轉(zhuǎn)置

矩陣的轉(zhuǎn)置很簡單,就是將矩陣的行變?yōu)榱?,將列變?yōu)樾?/p>

創(chuàng)建一個矩陣D,使用屬性T得到矩陣D的轉(zhuǎn)置矩陣E

矩陣轉(zhuǎn)置的基本性質(zhì):

驗證性質(zhì)1:(A’)’=A

驗證性質(zhì)2:(A±B)’=A’±B’:

創(chuàng)建兩個尺寸相同的矩陣

驗證性質(zhì)3:(KA)’=KA’

驗證性質(zhì)4:(A×B)’= B’×A’

四、python求方陣的跡

方陣的跡就是主對角元素之和

創(chuàng)建一個方陣(方陣也就是行數(shù)等于列數(shù)的矩陣)

用trace計算方陣的跡

.創(chuàng)建一個方陣F

驗證一下方陣的跡等于方陣的轉(zhuǎn)置的跡

驗證一下方陣的乘積的跡等于

五、python方陣的行列式計算方法

計算方陣的行列式,用到的是numpy模塊的linalg.det方法

行列式的算法:這是二階方陣行列式:

行列式的算法:這是三階行列式

利用E,F(xiàn)進行行列的計算

使用det方法求得方陣E和方陣F的行列式

六、python求逆矩陣/伴隨矩陣

設(shè)A是數(shù)域上的一個n階方陣,若在相同數(shù)域上存在另一個n階矩陣B,使得: AB=BA=E。 則我們稱B是A的逆矩陣,而A則被稱為可逆矩陣。當(dāng)矩陣A的行列式|A|不等于0時才存在可逆矩陣。而伴隨矩陣的定義:

先來求一下矩陣的逆,先引入numpy

創(chuàng)建一個方陣

使用linalg.det求得方陣的行列式

使用linalg.inv求得方陣A的逆矩陣

利用公式:

numpy的計算方法:

七、python解多元一次方程用python的

用python的numpy包中的linalg.solve()方法解多元一次方程

首先看一下我們要解的方程,將這個方程格式調(diào)整好,按照x-y-z-常數(shù)項的順序排列

將未知數(shù)的系數(shù)寫下來,排列成一個矩陣

a={[1,2,1],
[2,-1,3],
[3,1,2]}

常數(shù)項構(gòu)成一個一維數(shù)組(向量)

使用linalg.solve方法解方程,參數(shù)a指的是系數(shù)矩陣,參數(shù)b指的是常數(shù)項矩陣:

使用點乘的方法可以驗證一下,系數(shù)乘以未知數(shù)可以得到常數(shù)項

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python3.5實現(xiàn)的羅馬數(shù)字轉(zhuǎn)換成整數(shù)功能示例

    Python3.5實現(xiàn)的羅馬數(shù)字轉(zhuǎn)換成整數(shù)功能示例

    這篇文章主要介紹了Python3.5實現(xiàn)的羅馬數(shù)字轉(zhuǎn)換成整數(shù)功能,涉及Python字符串遍歷與數(shù)值運算相關(guān)操作技巧,需要的朋友可以參考下
    2019-02-02
  • Python反向傳播實現(xiàn)線性回歸步驟詳細講解

    Python反向傳播實現(xiàn)線性回歸步驟詳細講解

    回歸是監(jiān)督學(xué)習(xí)的一個重要問題,回歸用于預(yù)測輸入變量和輸出變量之間的關(guān)系,特別是當(dāng)輸入變量的值發(fā)生變化時,輸出變量的值也隨之發(fā)生變化。回歸模型正是表示從輸入變量到輸出變量之間映射的函數(shù)
    2022-10-10
  • Python 中的 import 機制之實現(xiàn)遠程導(dǎo)入模塊

    Python 中的 import 機制之實現(xiàn)遠程導(dǎo)入模塊

    模塊導(dǎo)入( import ),是指在一個模塊中使用另一個模塊的代碼的操作,它有利于代碼的復(fù)用。這篇文章主要介紹了Python 的 import 機制:實現(xiàn)遠程導(dǎo)入模塊,需要的朋友可以參考下
    2019-10-10
  • python-opencv實現(xiàn)視頻指定幀數(shù)間隔圖像的保存功能

    python-opencv實現(xiàn)視頻指定幀數(shù)間隔圖像的保存功能

    這篇文章主要介紹了python-opencv實現(xiàn)視頻指定幀數(shù)間隔圖像的保存的方法,本文通過示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • Python使用CRC實現(xiàn)圖片去重

    Python使用CRC實現(xiàn)圖片去重

    這篇文章主要為大家詳細介紹了Python如何使用CRC實現(xiàn)圖片去重功能,文中的示例代碼講解詳細,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10
  • 淺談django rest jwt vue 跨域問題

    淺談django rest jwt vue 跨域問題

    這篇文章主要介紹了django rest jwt vue 跨域問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • Python+Pygame實戰(zhàn)之吃豆豆游戲的實現(xiàn)

    Python+Pygame實戰(zhàn)之吃豆豆游戲的實現(xiàn)

    這篇文章主要為大家介紹了如何利用Python中的Pygame模塊實現(xiàn)仿吃豆豆游戲,文中的示例代碼講解詳細,對我們學(xué)習(xí)Python游戲開發(fā)有一定幫助,需要的可以參考一下
    2022-06-06
  • 詳解Python安裝tesserocr遇到的各種問題及解決辦法

    詳解Python安裝tesserocr遇到的各種問題及解決辦法

    這篇文章主要介紹了詳解Python安裝tesserocr遇到的各種問題及解決辦法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • python如何實現(xiàn)一個刷網(wǎng)頁小程序

    python如何實現(xiàn)一個刷網(wǎng)頁小程序

    這篇文章主要給大家介紹了關(guān)于利用python如何實現(xiàn)一個刷網(wǎng)頁小程序的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • 基于tensorflow權(quán)重文件的解讀

    基于tensorflow權(quán)重文件的解讀

    這篇文章主要介紹了關(guān)于tensorflow權(quán)重文件的解讀,具有很好的參考價值,希望對大家有所幫助。
    2021-05-05

最新評論