<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
NumPy對於多維陣列的運算,預設情況下並不進行矩陣運算。如果需要對陣列進行矩陣運算,則可以呼叫相應的函數。
在NumPy中,矩陣是ndarray的子類。
在NumPy中,陣列和矩陣有著重要的區別。NumPy提供了兩個基本的物件:一個N維陣列物件和一個通用函數物件。其他物件都是在它們之上構建的。
矩陣是繼承自NumPy陣列物件的二維陣列物件。與數學概念中的矩陣一樣,NumPy中的矩陣也是二維的。
可以使用mat、matrix以及bmat函數來建立矩陣。使用mat函數建立矩陣時,若輸入matrix或ndarray物件,則不會為它們建立副本。因此,呼叫mat函數和呼叫matrix(data, copy=False)等價。
案例:建立矩陣
# 匯入NumPy庫 import numpy as np # 使用分號隔開資料 matr1 = np.mat("1 2 3;4 5 6;7 8 9") print('建立的矩陣為:',matr1) # 使用列表建立矩陣 matr2 = np.matrix([[1,2,3],[4,5,6],[7,8,9]]) print('建立的矩陣為:',matr2)
建立的矩陣為: [[1 2 3]
[4 5 6]
[7 8 9]]
建立的矩陣為: [[1 2 3]
[4 5 6]
[7 8 9]]
很多時候會根據小的矩陣建立大的矩陣,即將小矩陣組合成大矩陣。在NumPy中,可以使用bmat分塊矩陣(block matrix)函數實現。
案例:建立分塊矩陣
arr1 = np.eye(3) print('建立的陣列1為:',arr1) arr2 = 3*arr1 print('建立的陣列2為:',arr2) print('建立的矩陣為:',np.bmat("arr1 arr2; arr1 arr2"))
建立的陣列1為: [[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
建立的陣列2為: [[3. 0. 0.]
[0. 3. 0.]
[0. 0. 3.]]
建立的矩陣為: [[1. 0. 0. 3. 0. 0.]
[0. 1. 0. 0. 3. 0.]
[0. 0. 1. 0. 0. 3.]
[1. 0. 0. 3. 0. 0.]
[0. 1. 0. 0. 3. 0.]
[0. 0. 1. 0. 0. 3.]]
在NumPy中,矩陣計算是針對整個矩陣中的每個元素進行的。與使用for迴圈相比,其在運算速度上更快。
案例:矩陣計算
matr1 = np.mat("1 2 3;4 5 6;7 8 9") #建立矩陣 print('建立的矩陣為:',matr1) matr2 = matr1*3 #矩陣與數相乘 print('建立的矩陣為:',matr2) print('矩陣相加結果為:',matr1+matr2) #矩陣相加 print('矩陣相減結果為:',matr1-matr2) #矩陣相減 print('矩陣相乘結果為:',matr1*matr2) #矩陣相乘 print('矩陣對應元素相乘結果為:',np.multiply(matr1,matr2))
建立的矩陣為: [[1 2 3]
[4 5 6]
[7 8 9]]
建立的矩陣為: [[ 3 6 9]
[12 15 18]
[21 24 27]]
矩陣相加結果為: [[ 4 8 12]
[16 20 24]
[28 32 36]]
矩陣相減結果為: [[ -2 -4 -6]
[ -8 -10 -12]
[-14 -16 -18]]
矩陣相乘結果為: [[ 90 108 126]
[198 243 288]
[306 378 450]]
矩陣對應元素相乘結果為: [[ 3 12 27]
[ 48 75 108]
[147 192 243]]
除了能夠實現各類運算外,矩陣還有其特有的屬性。
屬性 | 說明 |
---|---|
T | 返回自身的轉置 |
H | 返回自身的共軛轉置 |
I | 返回自身的逆矩陣 |
A | 返回自身資料的2維陣列的一個檢視 |
案例:矩陣的屬性
print('矩陣轉置結果為:',matr1.T) #轉置 print('矩陣共軛轉置結果為:',matr1.H) #共軛轉置(實數的共軛就是其本身) print('矩陣的二維陣列結果為:',matr1.A) #返回二維陣列的檢視 print('矩陣的逆矩陣結果為:',matr1.I) #逆矩陣
矩陣轉置結果為: [[ 2 1 -1]
[ 2 -1 2]
[ 3 0 1]]
矩陣共軛轉置結果為: [[ 2 1 -1]
[ 2 -1 2]
[ 3 0 1]]
矩陣的二維陣列結果為: [[ 2 2 3]
[ 1 -1 0]
[-1 2 1]]
矩陣的逆矩陣結果為: [[ 1. -4. -3.]
[ 1. -5. -3.]
[-1. 6. 4.]]
到此這篇關於Numpy建立NumPy矩陣的簡單實現的文章就介紹到這了,更多相關Numpy建立NumPy矩陣內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45