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

python numpy中mat和matrix的區(qū)別

 更新時間:2021年03月11日 10:38:46   作者:Crystal_Coding  
這篇文章主要介紹了python numpy中mat和matrix的區(qū)別,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

個人理解:

np.mat()

import numpy as np

b=np.mat(a)是將a轉(zhuǎn)化為矩陣

如果a本身是矩陣,就是創(chuàng)建a的一個引用,相當(dāng)于:np.matrix(a,copy=False)

無論a和b哪一個發(fā)生改變都會影響矩陣本身。

如果a不是矩陣,此時b就是a轉(zhuǎn)化成矩陣的結(jié)果,是在原有的基礎(chǔ)上進(jìn)行copy().

np.matrix()

單純的是創(chuàng)建一個矩陣。

補充:python中numpy模塊下函數(shù)array()和mat()的區(qū)別

1. mat()函數(shù)與array()函數(shù)生成矩陣所需的數(shù)據(jù)格式有區(qū)別

(1) mat()函數(shù)中數(shù)據(jù)可以為字符串以分號(;)分割,或者為列表形式以逗號(,)分割。而array()函數(shù)中數(shù)據(jù)只能為后者形式。

如mat()函數(shù)生成矩陣時一下兩種方式都正確。

(2) 而array()函數(shù)生成矩陣時數(shù)據(jù)只能為列表形式。

2. mat()函數(shù)與array()函數(shù)生成的矩陣計算方式不同

(1) mat()函數(shù)中矩陣的乘積可以使用(星號) * 或 .dot()函數(shù),其結(jié)果相同。而矩陣對應(yīng)位置元素相乘需調(diào)用numpy.multiply()函數(shù)。

(2) array()函數(shù)中矩陣的乘積只能使用 .dot()函數(shù)。而星號乘 (*)則表示矩陣對應(yīng)位置元素相乘,與numpy.multiply()函數(shù)結(jié)果相同。

如生成以下矩陣:

a = numpy.mat([[1, 3], [5, 7]]) 
b = numpy.mat([[2, 4], [6, 8]]) 
c = numpy.array([[1, 3], [5, 7]])
d = numpy.array([[2, 4], [6, 8]])

a * b = a.dot(b) = c.dot(d) ,其表示矩陣相乘。

numpy.multiply(a, b) = c * d = numpy.multiply(c, d) ,其表示矩陣對應(yīng)位置元素相乘。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

最新評論