最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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()
#利用列表的推導式
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)

高級方法有沒有?當然有,就是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ù)組當作矩陣運算

其實就是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\學習筆記\image-20211209220322114.png)]

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

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

array()乘法:*代表點乘(對應元素相乘),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()的平方是矩陣對應位置數(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ù)組基本上都可以

加減法同樣

當然列表是不能這么盡興加減的

二、python矩陣乘法

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

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

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

dot函數(shù)用于矩陣乘法,對于二維數(shù)組,它計算的是矩陣乘積,對于一維數(shù)組,它計算的是內(nèi)積。注意交換矩陣的前后位置會導致不同的結(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求逆矩陣/伴隨矩陣

設A是數(shù)域上的一個n階方陣,若在相同數(shù)域上存在另一個n階矩陣B,使得: AB=BA=E。 則我們稱B是A的逆矩陣,而A則被稱為可逆矩陣。當矩陣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實現(xiàn)磁盤空間監(jiān)控

    python3實現(xiàn)磁盤空間監(jiān)控

    這篇文章主要為大家詳細介紹了python3實現(xiàn)磁盤空間監(jiān)控,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • python實現(xiàn)對指定字符串補足固定長度倍數(shù)截斷輸出的方法

    python實現(xiàn)對指定字符串補足固定長度倍數(shù)截斷輸出的方法

    今天小編就為大家分享一篇python實現(xiàn)對指定字符串補足固定長度倍數(shù)截斷輸出的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • python Bamboolib庫加速Pandas數(shù)據(jù)分析過程詳解

    python Bamboolib庫加速Pandas數(shù)據(jù)分析過程詳解

    這篇文章主要介紹了python Bamboolib庫加速Pandas數(shù)據(jù)分析過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • scrapy實踐之翻頁爬取的實現(xiàn)

    scrapy實踐之翻頁爬取的實現(xiàn)

    這篇文章主要介紹了scrapy實踐之翻頁爬取的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • 從基礎到高級詳解Python讀寫二進制結(jié)構(gòu)數(shù)組的完全指南

    從基礎到高級詳解Python讀寫二進制結(jié)構(gòu)數(shù)組的完全指南

    二進制數(shù)據(jù)處理是Python編程中??至關(guān)重要??的技能,本文將深入探討Python中讀寫二進制結(jié)構(gòu)數(shù)組的各種方法和技術(shù),感興趣的小伙伴可以跟隨小編一起學習一下
    2025-09-09
  • Django數(shù)據(jù)庫如何在原有表中添加新字段

    Django數(shù)據(jù)庫如何在原有表中添加新字段

    這篇文章主要介紹了Django數(shù)據(jù)庫如何在原有表中添加新字段問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python中的各種裝飾器詳解

    Python中的各種裝飾器詳解

    這篇文章主要介紹了Python中的各種裝飾器詳解,Python裝飾器分兩部分,一是裝飾器本身的定義,一是被裝飾器對象的定義,本文分別講解了各種情況下的裝飾器,需要的朋友可以參考下
    2015-04-04
  • Python字典的基礎操作

    Python字典的基礎操作

    這篇文章主要介紹了Python字典的基礎操作,Python中的字典數(shù)據(jù)類型和現(xiàn)實中的字典很像,它是以鍵值對(鍵和值的組合)的方式把數(shù)據(jù)組織到一起,可以通過鍵找到與之對應的值并進行操作,下面來看文章金額提內(nèi)容吧,需要的朋友可以參考一下
    2021-11-11
  • pip如何用pipdeptree查看包依賴

    pip如何用pipdeptree查看包依賴

    這篇文章主要介紹了pip如何用pipdeptree查看包依賴問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • python 的賦值語句和基本輸入輸出詳解

    python 的賦值語句和基本輸入輸出詳解

    這篇文章主要為大家介紹了python 賦值語句和基本輸入輸出,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12

最新評論

喜德县| 通道| 乐都县| 绥棱县| 灵璧县| 镇巴县| 勐海县| 永善县| 临夏县| 绵竹市| 东乌珠穆沁旗| 左云县| 锡林郭勒盟| 信丰县| 长岛县| 四川省| 清丰县| 岢岚县| 黄陵县| 清远市| 邹城市| 平阳县| 祁连县| 梁山县| 定州市| 甘谷县| 保靖县| 上饶市| 宁武县| 中山市| 台南市| 汝阳县| 东乌珠穆沁旗| 奉化市| 临沧市| 信丰县| 仁布县| 南昌县| 万宁市| 建昌县| 南溪县|