久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

python numpy中mat和matrix的區別

瀏覽:45日期:2022-06-25 13:51:18

個人理解:

np.mat()

import numpy as np

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

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

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

如果a不是矩陣,此時b就是a轉化成矩陣的結果,是在原有的基礎上進行copy().

np.matrix()

單純的是創建一個矩陣。

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

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

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

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

python numpy中mat和matrix的區別

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

python numpy中mat和matrix的區別

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

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

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

如生成以下矩陣:

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) ,其表示矩陣對應位置元素相乘。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 玛曲县| 台湾省| 方城县| 仁布县| 许昌市| 凤阳县| 灵璧县| 明光市| 苏尼特左旗| 翁源县| 宁安市| 东乌珠穆沁旗| 利辛县| 陇西县| 齐河县| 固阳县| 大姚县| 道孚县| 洛川县| 石家庄市| 盐池县| 麦盖提县| 南昌市| 玉田县| 青海省| 巴彦淖尔市| 察雅县| 伊宁县| 大名县| 陇南市| 敖汉旗| 阿尔山市| 龙南县| 高邮市| 奉贤区| 山东省| 湖北省| 达拉特旗| 霍城县| 肥西县| 赞皇县|