這學期霖小白有一門線性代數的課程,就想着結合着Python裡面的第三方庫---------numpy,來一個非常入門級别的學習分享,也比較符合霖小白這個入門基礎學習分享文章的公衆号哈哈哈,因為霖小白還是個小白,還木有能力寫出比較深的文章,還望大家見諒見諒。 說多了說多了,接下來先簡單介紹介紹什麼是numpy,在Python中numpy和霖小白上一篇文章分享的matplotlib一起搭配使用,其效果是可以替代matlab的。numpy主要用于數學或者是科學計算,它是一個由多元數組對象和用于處理數組的例程集合組成的庫,其中numpy擁有線性代數和随機數生成的内置函數,是以霖小白這一次的文章分享就是有關近期學習的線性代數的一丢丢知識來分享Python中numpy的相關内容。
一、建立數組
一開始,我們第一步肯定先導入這個庫啦 然後我們用np.array( )來建立一個數組,先來建立一個二維數組吧。 運作的效果如圖:

運作後輸出的是一個矩陣,是一個兩行三列矩陣。有一個特殊形式的矩陣叫行矩陣,就是隻有一行的矩陣,跟上面的方法一樣建立,建立一個一維數組。 注意一下這裡面是有兩個“[ ]” 中括号的,而且還要區分一下清單,貼一張圖看看。
前兩行是輸出的是一維數組,就是我們線性代數教材上面所寫的行矩陣一樣。後兩行就是清單。 現在的這幾個例子都是行數列數都是我們一看就知道的,那要是遇到那麼很多很多行很多很多列的數組咋辦,我們可以用xxx.ndim來檢視是幾維數組的,例如最先開始舉例的那個兩行三列矩陣,我們很簡單看出是二維數組。
同樣道理,可以用xxx.shape來查詢行列數,用xxx.size來查詢一共有多少個元素。
我們之前在循環結構的時候,for循環的時候經常看到一個東西,就是:
range括号裡面第一個數是起始值,第二個數是終止值,第三個數是步長。相同我們也是可以類似的方式來建立一個有序數組。
一樣,第一個值就是起始值,第二個值是終止值,第三個就是步長,看看下面代碼運作。
不過這樣是建立的是一維數組,也就是我們線代上面的行矩陣。那想要建立一個3行4列的矩陣,我們應該這麼做,在上面是不是又分享了一個查詢矩陣行列數的方法,那麼我們可以用下面這一用方式來建立一個3行4列的矩陣。
二、簡單的基礎運算
相加減就還是比較簡單,就是對應元素相加減。直接上例子就行了
乘法的話在這裡面就有兩種算法需要我們差別一下,例如第一種就是跟加減法一樣,對應元素的相乘,第二種就是我們線代上面學習過的矩陣的乘法。 比如先舉例第二種算法,矩陣的乘法。如這兩個矩陣相乘
在我們不會Python或者matlab等程式設計的時候,我們是不是就要老老實實拿出一支小筆筆和一本小本本,開始漫漫長路的手寫計算,第一行乘以第一列...................這還是三行三列的乘法,要是n行n列呢,那霖小白直接摔筆,手算是不可能的,這輩子都不可能。
太艱難了,還怕自己算錯,但是如果我們會numpy,隻需要一行代碼,還可以保證準确率。
就是我框出來的這一行,它的作用就是可以實作矩陣的乘法計算,再一次提醒下矩陣的輸入小括号裡面是現有一個中括号滴。
接下來說的這一種就是對應元素直接相乘,比較好了解,直接上圖
框框出來的這兩個不同的乘法計算要注意區分一下。其中矩陣的乘法計算其實還有一種寫法。 這兩種寫法都是相同的,同樣都是計算矩陣的乘法。 好了,今天的小分享就到這裡了,下一次繼續這一部分的内容,霖小白明天就要回校了,現在要去收拾行李啦。