日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)Python教程:Python數(shù)學(xué)建模三劍客之Numpy

創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)章貢,十多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18980820575

三劍客之Numpy

numpy是一個(gè)開(kāi)源的python科學(xué)計(jì)算庫(kù),包含了很多實(shí)用的數(shù)學(xué)函數(shù),涵蓋線性代數(shù)、傅里葉變換和隨機(jī)數(shù)生成等功能。最初的numpy其實(shí)是scipy的一部分,后來(lái)才從scipy中分離出來(lái)。

numpy不是python的標(biāo)準(zhǔn)庫(kù),需要單獨(dú)安裝。假定你的運(yùn)行環(huán)境已經(jīng)安裝了python包管理工具pip,numpy的安裝就非常簡(jiǎn)單:

pip install numpy

一、數(shù)組對(duì)象

ndarray是多維數(shù)組對(duì)象,也是numpy最核心的對(duì)象。在numpy中,數(shù)組的維度(dimensions)叫做軸(axes),軸的個(gè)數(shù)叫做秩(rank)。通常,一個(gè)numpy數(shù)組的所有元素都是同一種類型的數(shù)據(jù),而這些數(shù)據(jù)的存儲(chǔ)和數(shù)組的形式無(wú)關(guān)。

下面的例子,創(chuàng)建了一個(gè)三維的數(shù)組(在導(dǎo)入numpy時(shí),一般都簡(jiǎn)寫(xiě)成np)。

import numpy as np
a = np.array([[1,2,3],[4,5,6],[7,8,9]])

1、數(shù)據(jù)類型

numpy支持的數(shù)據(jù)類型主要有布爾型(bool)、整型(integrate)、浮點(diǎn)型(float)和復(fù)數(shù)型(complex),每一種數(shù)據(jù)類型根據(jù)占用內(nèi)存的字節(jié)數(shù)又分為多個(gè)不同的子類型。常見(jiàn)的數(shù)據(jù)類型見(jiàn)下表。

2、創(chuàng)建數(shù)組

通常,我們用np.array()創(chuàng)建數(shù)組。如果僅僅是創(chuàng)建一維數(shù)組,也可以使用np.arange()或者np.linspace()的方法。np.zeros()、np.ones()、np.eye()則可以構(gòu)造特殊的數(shù)據(jù)。np.random.randint()和np.random.random()則可以構(gòu)造隨機(jī)數(shù)數(shù)組。

>>> np.array([[1,2,3],[4,5,6]])                # 默認(rèn)元素類型為int32
array([[1, 2, 3],
       [4, 5, 6]])
>>> np.array([[1,2,3],[4,5,6]], dtype=np.int8) # 指定元素類型為int8
array([[1, 2, 3],
       [4, 5, 6]], dtype=int8)
>>> np.arange(5)                               # 默認(rèn)元素類型為int32
array([0, 1, 2, 3, 4])
>>> np.arange(3,8, dtype=np.int8)              # 指定元素類型為int8
array([3, 4, 5, 6, 7], dtype=int8)
>>> np.arange(12).reshape(3,4)                 # 改變shape
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
>>> np.linspace(1,2,5)                        # 從1到2生成5個(gè)浮點(diǎn)數(shù)
array([ 1.  ,  1.25,  1.5 ,  1.75,  2.  ])
>>> np.zeros((2,3))                            # 全0數(shù)組
array([[ 0.,  0.,  0.],
       [ 0.,  0.,  0.]])
>>> np.ones((2,3))                             # 全1數(shù)組
array([[ 1.,  1.,  1.],
       [ 1.,  1.,  1.]])
>>> np.eye(3)                                  # 主對(duì)角線元素為1其他元素為0
array([[ 1.,  0.,  0.],
       [ 0.,  1.,  0.],
       [ 0.,  0.,  1.]])
>>> np.random.random((2,3))                    # 生成[0,1)之間的隨機(jī)浮點(diǎn)數(shù)
array([[ 0.84731148,  0.8222318 ,  0.85799278],
       [ 0.59371558,  0.92330741,  0.04518351]])
>>> np.random.randint(0,10,(3,2))              # 生成[0,10)之間的隨機(jī)整數(shù)
array([[2, 4],
       [8, 3],
       [8, 5]])

3、構(gòu)造復(fù)雜數(shù)組

很多時(shí)候,我們需要從簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu),構(gòu)造出復(fù)雜的數(shù)組。例如,用一維的數(shù)據(jù)生成二維格點(diǎn)。

(1)重復(fù)數(shù)組:tile

>>> a = np.arange(5)
>>> a
array([0, 1, 2, 3, 4])
>>> np.tile(a, 2)
array([0, 1, 2, 3, 4, 0, 1, 2, 3, 4])
>>> np.tile(a, (3,2))
array([[0, 1, 2, 3, 4, 0, 1, 2, 3, 4],
       [0, 1, 2, 3, 4, 0, 1, 2, 3, 4],
       [0, 1, 2, 3, 4, 0, 1, 2, 3, 4]])

(2)重復(fù)元素:repeat

>>> a = np.arange(5)
>>> a
array([0, 1, 2, 3, 4])
>>> a.repeat(2)
array([0, 0, 1, 1, 2, 2, 3, 3, 4, 4])

(3)一維數(shù)組網(wǎng)格化:meshgrid

>>> a = np.arange(5)
>>> b = np.arange(5,10)
>>> np.meshgrid(a,b)
[array([[0, 1, 2, 3, 4],
       [0, 1, 2, 3, 4],
       [0, 1, 2, 3, 4],
       [0, 1, 2, 3, 4],
       [0, 1, 2, 3, 4]]), array([[5, 5, 5, 5, 5],
       [6, 6, 6, 6, 6],
       [7, 7, 7, 7, 7],
       [8, 8, 8, 8, 8],
       [9, 9, 9, 9, 9]])]
>>>

(4)指定范圍和分割方式的網(wǎng)格化:mgrid

>>> np.mgrid[0:1:2j, 1:2:3j]
array([[[ 0. ,  0. ,  0. ],
        [ 1. ,  1. ,  1. ]],
       [[ 1. ,  1.5,  2. ],
        [ 1. ,  1.5,  2. ]]])
>>> np.mgrid[0:1:0.3, 1:2:0.4]
array([[[ 0. ,  0. ,  0. ],
        [ 0.3,  0.3,  0.3],
        [ 0.6,  0.6,  0.6],
        [ 0.9,  0.9,  0.9]],
       [[ 1. ,  1.4,  1.8],
        [ 1. ,  1.4,  1.8],
        [ 1. ,  1.4,  1.8],
        [ 1. ,  1.4,  1.8]]])

上面的例子中用到了虛數(shù)。構(gòu)造虛數(shù)的方法如下:

>>> complex(2,5)
(2+5j)

4、數(shù)組的屬性

numpy的數(shù)組對(duì)象除了一些常規(guī)的屬性外,也有幾個(gè)類似轉(zhuǎn)置、扁平迭代器等看起來(lái)更像是方法的屬性。扁平迭代器也許是遍歷多維數(shù)組的一個(gè)簡(jiǎn)明方法,下面的代碼給出了一個(gè)例子。

>>> a = np.array([[1,2,3],[4,5,6]])
>>> a.dtype               # 數(shù)組元素的數(shù)據(jù)類型
dtype('int32')
>>> a.dtype.itemsize      # 數(shù)組元素占據(jù)的內(nèi)存字節(jié)數(shù)
4
>>> a.itemsize            # 數(shù)組元素占據(jù)的內(nèi)存字節(jié)數(shù)
4
>>> a.shape               # 數(shù)組的維度
(2, 3)
>>> a.size                # 數(shù)組元素個(gè)數(shù)
6
>>> a.T                   # 數(shù)組行變列,類似于transpose()
array([[1, 4],
       [2, 5],
       [3, 6]])
>>> a.flat                # 返回一個(gè)扁平迭代器,用于遍歷多維數(shù)組

>>> for item in a.flat:
print item

5、改變數(shù)組維度

numpy數(shù)組的存儲(chǔ)順序和數(shù)組的維度是不相干的,因此改變數(shù)組的維度是非常便捷的操作,除resize()外,這一類操作不會(huì)改變所操作的數(shù)組本身的存儲(chǔ)順序。

>>> a = np.array([[1,2,3],[4,5,6]])
>>> a.shape                     # 查看數(shù)組維度
(2, 3)
>>> a.reshape(3,2)              # 返回3行2列的數(shù)組
array([[1, 2],
       [3, 4],
       [5, 6]])
>>> a.ravel()                   # 返回一維數(shù)組
array([1, 2, 3, 4, 5, 6])
>>> a.transpose()               # 行變列(類似于矩陣轉(zhuǎn)置)
array([[1, 4],
       [2, 5],
       [3, 6]])
>>> a.resize((3,2))             # 類似于reshape,但會(huì)改變所操作的數(shù)組
>>> a
array([[1, 2],
       [3, 4],
       [5, 6]])

6、索引和切片

對(duì)于一維數(shù)組的索引和切片,numpy和python的list一樣,甚至更靈活。

a = np.arange(9)
>>> a[-1]                            # 最后一個(gè)元素
8
>>> a[2:5]                           # 返回第2到第5個(gè)元素
array([2, 3, 4])
>>> a[:7:3]                          # 返回第0到第7個(gè)元素,步長(zhǎng)為3
array([0, 3, 6])
>>> a[::-1]                          # 返回逆序的數(shù)組
array([8, 7, 6, 5, 4, 3, 2, 1, 0])

假設(shè)有一棟2層樓,每層樓內(nèi)的房間都是3排4列,那我們可以用一個(gè)三維數(shù)組來(lái)保存每個(gè)房間的居住人數(shù)(當(dāng)然,也可以是房間面積等其他數(shù)值信息)。

>>> a = np.arange(24).reshape(2,3,4)    # 2層3排4列
>>> a
array([[[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11]],
       [[12, 13, 14, 15],
        [16, 17, 18, 19],
        [20, 21, 22, 23]]])
>>> a[1][2][3]                          # 雖然可以這樣
23
>>> a[1,2,3]                            # 但這才是規(guī)范的用法
23
>>> a[:,0,0]                            # 所有樓層的第1排第1列
array([ 0, 12])
>>> a[0,:,:]                            # 1樓的所有房間,等價(jià)與a[0]或a[0,...]
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
>>> a[:,:,1:3]                          # 所有樓層所有排的第2到4列
array([[[ 1,  2],
        [ 5,  6],
        [ 9, 10]],
       [[13, 14],
        [17, 18],
        [21, 22]]])
>>> a[1,:,-1]                           # 2層每一排的最后一個(gè)房間
array([15, 19, 23])

7、數(shù)組合并

數(shù)組合并除了下面介紹的水平合并、垂直合并、深度合并外,還有行合并、列合并,以及concatenate()等方式。假如你比我還懶,那就只了解前三種方法吧,足夠用了。

>>> a = np.arange(9).reshape(3,3)
>>> b = np.arange(9,18).reshape(3,3)
>>> a
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
>>> b
array([[ 9, 10, 11],
       [12, 13, 14],
       [15, 16, 17]])
>>> np.hstack((a,b))                        # 水平合并
array([[ 0,  1,  2,  9, 10, 11],
       [ 3,  4,  5, 12, 13, 14],
       [ 6,  7,  8, 15, 16, 17]])
>>> np.vstack((a,b))                        # 垂直合并
array([[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [ 9, 10, 11],
       [12, 13, 14],
       [15, 16, 17]])
>>> np.dstack((a,b))                        # 深度合并
array([[[ 0,  9],
        [ 1, 10],
        [ 2, 11]],
       [[ 3, 12],
        [ 4, 13],
        [ 5, 14]],
       [[ 6, 15],
        [ 7, 16],
        [ 8, 17]]])

8、數(shù)組拆分

拆分是合并的逆過(guò)程,概念是一樣的,但稍微有一點(diǎn)不同:

>>> a = np.arange(9).reshape(3,3)
>>> np.hsplit(a, 3)                        # 水平拆分,返回list
[array([[0],
       [3],
       [6]]), array([[1],
       [4],
       [7]]), array([[2],
       [5],
       [8]])]
>>> np.vsplit(a, 3)                        # 垂直拆分,返回list
[array([[0, 1, 2]]), array([[3, 4, 5]]), array([[6, 7, 8]])]
>>> a = np.arange(27).reshape(3,3,3)
>>> np.dsplit(a, 3)                        # 深度拆分,返回list
[array([[[ 0],
        [ 3],
        [ 6]],
       [[ 9],
        [12],
        [15]],
       [[18],
        [21],
        [24]]]), array([[[ 1],
        [ 4],
        [ 7]],
       [[10],
        [13],
        [16]],
       [[19],
        [22],
        [25]]]), array([[[ 2],
        [ 5],
        [ 8]],
       [[11],
        [14],
        [17]],
       [[20],
        [23],
        [26]]])]

9、數(shù)組運(yùn)算

數(shù)組和常數(shù)的四則運(yùn)算,是數(shù)組的每一個(gè)元素分別和常數(shù)運(yùn)算;數(shù)組和數(shù)組的四則運(yùn)算則是兩個(gè)數(shù)組對(duì)應(yīng)元素的運(yùn)算(兩個(gè)數(shù)組有相同的shape,否則拋出異常)。

>>> a = np.arange(4, dtype=np.float32).reshape(2,2)
>>> b = np.arange(4, 8, dtype=np.float32).reshape(2,2)
>>> a+2                # 數(shù)組和常數(shù)可以進(jìn)行四則運(yùn)算
array([[ 2.,  3.],
       [ 4.,  5.]], dtype=float32)
>>> a/b                # 數(shù)組和數(shù)組可以進(jìn)行四則運(yùn)算
array([[ 0.        ,  0.2       ],
       [ 0.33333334,  0.42857143]], dtype=float32) 
>>> a == b             # 最神奇的是,數(shù)組可以判斷對(duì)應(yīng)元素是否相等
array([[False, False],
       [False, False]], dtype=bool)
>>> (a == b).all()     # 判斷數(shù)組是否相等
False

特別提示:如果想對(duì)數(shù)組內(nèi)符合特定條件的元素做特殊處理,下面的代碼也許有用。

>>> a = np.arange(6).reshape((2,3))
>>> a
array([[0, 1, 2],
       [3, 4, 5]])
>>> (a>2)&(a<=4)
array([[False, False, False],
       [ True,  True, False]], dtype=bool)
>>> a[(a>2)&(a<=4)]
array([3, 4])
>>> a[(a>2)&((a<=4))] += 10
>>> a
array([[ 0,  1,  2],
       [13, 14,  5]])

10、數(shù)組方法和常用函數(shù)

數(shù)組對(duì)象本身提供了計(jì)算算數(shù)平均值、求最小值等內(nèi)置方法,numpy也提供了很多實(shí)用的函數(shù)。為了縮減篇幅,下面的代碼僅以一維數(shù)組為例,展示了這些方法和函數(shù)用法。事實(shí)上,大多數(shù)情況下這些方法和函數(shù)對(duì)于多維數(shù)組同樣有效,只有少數(shù)例外,比如compress函數(shù)。

>>> a = np.array([3,2,4])
>>> a.sum()                   # 所有元素的和
9
>>> a.prod()                  # 所有元素的乘積
24
>>> a.mean()                  # 所有元素的算數(shù)平均值
3.0
>>> a.max()                   # 所有元素的值
4
>>> a.min()                   # 所有元素的最小值
2
>>> a.clip(3,4)               # 小于3的元素替換為3,大于4的元素替換為4
array([3, 3, 4])
>>> a.compress(a>2)           # 返回大于2的元素組成的數(shù)組
array([3, 4])
>>> a.tolist()                # 返回python的list
[3, 2, 4]
>>> a.var()                   # 計(jì)算方差(元素與均值之差的平方的均值)
0.66666666666666663
>>> a.std()                   # 計(jì)算標(biāo)準(zhǔn)差(方差的算術(shù)平方根)
0.81649658092772603
>>> a.ptp()                   # 返回?cái)?shù)組的值和最小值之差
2
>>> a.argmin()                # 返回最小值在扁平數(shù)組中的索引
1
>>> a.argmax()                # 返回值在扁平數(shù)組中的索引
2
>>> np.where(a == 2)          # 返回所有值為2的元素的索引
(array([1]),)
>>> np.diff(a)                # 返回相鄰元素的差
array([-1,  2])
>>> np.log(a)                 # 返回對(duì)數(shù)數(shù)組
array([ 1.09861229,  0.69314718,  1.38629436])
>>> np.exp(a)                 # 返回指數(shù)數(shù)組
array([ 20.08553692,   7.3890561 ,  54.59815003])
>>> np.sqrt(a)                # 返回開(kāi)方數(shù)組
array([ 1.73205081,  1.41421356,  2.        ])
>>> np.msort(a)               # 數(shù)組排序
array([2, 3, 4])
>>> a = np.array([1,4,7])
>>> b = np.array([8,5,2])
>>> np.maximum(a, b)          # 返回多個(gè)數(shù)組中對(duì)應(yīng)位置元素的值數(shù)組
array([8, 5, 7])
>>> np.minimum(a, b)          # 返回多個(gè)數(shù)組中對(duì)應(yīng)位置元素的最小值數(shù)組
array([1, 4, 2])
>>> np.true_divide(a, b)      # 對(duì)整數(shù)實(shí)現(xiàn)真正的數(shù)學(xué)除法運(yùn)算
array([ 0.125,  0.8  ,  3.5  ])

二、矩陣對(duì)象

matrix是矩陣對(duì)象,繼承自ndarray類型,因此含有ndarray的所有數(shù)據(jù)屬性和方法。不過(guò),當(dāng)你把矩陣對(duì)象當(dāng)數(shù)組操作時(shí),需要注意以下幾點(diǎn):

matrix對(duì)象總是二維的,即使是展平(ravel函數(shù))操作或是成員選擇,返回值也是二維的

matrix對(duì)象和ndarray對(duì)象混合的運(yùn)算總是返回matrix對(duì)象

1、創(chuàng)建矩陣

matrix對(duì)象可以使用一個(gè)Matlab風(fēng)格的字符串來(lái)創(chuàng)建(以空格分隔列,以分號(hào)分隔行的字符串),也可以用數(shù)組來(lái)創(chuàng)建。

>>> np.mat('1 4 7; 2 5 8; 3 6 9')
matrix([[1, 4, 7],
        [2, 5, 8],
        [3, 6, 9]])
>>> np.mat(np.arange(1,10).reshape(3,3))
matrix([[1, 2, 3],
        [4, 5, 6],
        [7, 8, 9]])

2、矩陣的特有屬性

矩陣有幾個(gè)特有的屬性使得計(jì)算更加容易,這些屬性有:

>>> m = np.mat(np.arange(1,10).reshape(3,3))
>>> m
matrix([[1, 2, 3],
        [4, 5, 6],
        [7, 8, 9]])
>>> m.T             # 返回自身的轉(zhuǎn)置
matrix([[1, 4, 7],
        [2, 5, 8],
        [3, 6, 9]])
>>> m.H             # 返回自身的共軛轉(zhuǎn)置
matrix([[1, 4, 7],
        [2, 5, 8],
        [3, 6, 9]])
>>> m.I             # 返回自身的逆矩陣
matrix([[ -4.50359963e+15,   9.00719925e+15,  -4.50359963e+15],
        [  9.00719925e+15,  -1.80143985e+16,   9.00719925e+15],
        [ -4.50359963e+15,   9.00719925e+15,  -4.50359963e+15]])
>>> m.A             # 返回自身數(shù)據(jù)的二維數(shù)組的一個(gè)視圖
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

3、矩陣乘法

對(duì)ndarray對(duì)象而言,星號(hào)是按元素相乘,dot()函數(shù)則當(dāng)作矩陣相乘。對(duì)于matrix對(duì)象來(lái)說(shuō),星號(hào)和dot()函數(shù)都是矩陣相乘。特別的,對(duì)于一維數(shù)組,dot()函數(shù)實(shí)現(xiàn)的是向量點(diǎn)乘(結(jié)果是標(biāo)量),但星號(hào)實(shí)現(xiàn)的卻不是差乘。

>>> a = np.array([1,2,3])
>>> b = np.array([4,5,6])
>>> a*b               # 一維數(shù)組,元素相乘
array([ 4, 10, 18])
>>> np.dot(a,b)       # 一維數(shù)組,元素相乘再求和
32
>>> a = np.array([[1,2],[3,4]])
>>> b = np.array([[5,6],[7,8]])
>>> a*b               # 多維數(shù)組,元素相乘
array([[ 5, 12],
       [21, 32]])
>>> np.dot(a,b)       # 多維數(shù)組,實(shí)現(xiàn)的是矩陣相乘
array([[19, 22],
       [43, 50]])
>>> m = np.mat(a)
>>> n = np.mat(b)
>>> np.dot(m,n)       # 矩陣相乘
matrix([[19, 22],
        [43, 50]])
>>> m*n               # 矩陣相乘
matrix([[19, 22],
        [43, 50]])

三、線性代數(shù)模塊

numpy.linalg 是numpy的線性代數(shù)模塊,可以用來(lái)解決逆矩陣、特征值、線性方程組以及行列式等問(wèn)題。

1、計(jì)算逆矩陣

盡管matrix對(duì)象本身有逆矩陣的屬性,但用numpy.linalg模塊求解矩陣的逆,也是非常簡(jiǎn)單的。

m = np.mat('0 1 2; 1 0 3; 4 -3 8')
mi = np.linalg.inv(m)           # mi即為m的逆矩陣。何以證明?
m * mi                          # 矩陣與其逆矩陣相乘,結(jié)果為單位矩陣
matrix([[ 1.,  0.,  0.],
        [ 0.,  1.,  0.],
        [ 0.,  0.,  1.]])

2、計(jì)算行列式

如何計(jì)算行列式,我早已經(jīng)不記得了,但手工計(jì)算行列式的痛苦,我依然記憶猶新?,F(xiàn)在好了,你在手機(jī)上都可以用numpy輕松搞定(前提是你的手機(jī)上安裝了python + numpy)。

m = np.mat('0 1 2; 1 0 3; 4 -3 8')
np.linalg.det(m)     # 什么?這就成了?
2.0

3、計(jì)算特征值和特征向量

m = np.mat('0 1 2; 1 0 3; 4 -3 8')
>>> np.linalg.eigvals(m)        # 計(jì)算特征值
array([ 7.96850246, -0.48548592,  0.51698346])
>>> np.linalg.eig(m)            # 返回特征值及其對(duì)應(yīng)特征向量的元組
(array([ 7.96850246, -0.48548592,  0.51698346]), matrix([[ 0.26955165,  0.90772191, -0.74373492],
        [ 0.36874217,  0.24316331, -0.65468206],
        [ 0.88959042, -0.34192476,  0.13509171]]))

4、求解線性方程組

有線性方程組如下:

x - 2y + z = 0
2y -8z = 8
-4x + 5y + 9z = -9

求解過(guò)程如下:

>>> A = np.mat('1 -2 1; 0 2 -8; -4 5 9')
>>> b = np.array([0, 8, -9])
>>> np.linalg.solve(A, b)
array([ 29.,  16.,   3.])  # x = 29, y = 16, z = 3

python創(chuàng)新互聯(lián)教程,大量的免費(fèi)python視頻教程,歡迎在線學(xué)習(xí)!

相關(guān)推薦:

1、Python數(shù)學(xué)建模三劍客之Matplotlib

2、Python數(shù)學(xué)建模三劍客之Scipy


文章名稱:創(chuàng)新互聯(lián)Python教程:Python數(shù)學(xué)建模三劍客之Numpy
文章鏈接:http://m.5511xx.com/article/cccscgo.html