婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Numpy實現矩陣運算及線性代數應用

Numpy實現矩陣運算及線性代數應用

熱門標簽:如何在地圖標注文字 廈門crm外呼系統如何 百應ai電銷機器人鄭州 女王谷地圖標注 長春人工智能電銷機器人官網 地圖標注推廣單頁 西藏快速地圖標注地點 n400電話申請多少錢 ai地圖標注

一、創建矩陣的方法

import numpy as np
# 1直接創建
mat=np.mat("1 2 3;4 5 6;7 8 9")
print(mat)
# 2使用numpy數組創建矩陣
mat2=np.mat(np.arange(1,10).reshape(3,3))
print(mat2)
# 3從已有的矩陣中通過bmat函數創建
A=np.eye(2)
B=A*2
mat3=np.bmat("A B;B A")
print(mat3) #類似于拼接

二、矩陣運算

 2.1隨機函數表

隨機函數1

 

隨機函數2*

2.2部分實例

mat1=np.mat(np.array([2,6,5]))
mat2=np.mat(np.array([2,6,5]))

2.2.1加法—np.add

addresult=np.add(mat1,mat2)
print(addresult)

2.2.2乘法—multiply

multiresult=np.multiply(mat1,mat2)
print(multiresult) #數值的乘法
mat3=np.mat(np.arange(6).reshape(2,3))
mat4=np.mat(np.arange(6).reshape(3,2))
print("mat3*mat4\n",mat3*mat4)

2.2.3除法—divide

a=np.mat(np.array([4,5,8]))
b=np.mat(np.array([2,3,5]))
#########################除法
result1=np.divide(a,b)
print(result1)

#數組除法將結果向下去整
result2=np.floor_divide(a,b)
print("除法向下去整:",result2)
#矩陣直接相除
print("矩陣直接相除",a/b)
#矩陣取模
print("矩陣取模",a%b)

#返回小數部分
floatResult=np.true_divide(a,b)
print(floatResult)

mat**2,要求mat為方陣,其平方為mat*mat的結果
mat1*mat2的結果為mat1(m,n)的行與mat2(n,p)的列乘積組成的新的矩陣(m,p)

2.2.4取模-mod/fmod

import numpy as np
mat1=np.mat(np.array([5,-7,9]))
mat2=np.mat(np.array([2,-4,3]))
#取模運算
result1=np.remainder(mat1,mat2)
print("remainder:",result1)

result2=np.mod(mat1,mat2)
print("mod",result2)

result3=mat1%mat2
print("%",result3)

result4=np.fmod(mat1,mat2)
print(result4) #模 的正負和被除數相同,與除數無關

三、通用函數

1一元函數(ufunc),只接受一個數組,結果返回一個結果數組,
當然也有返回兩個數組的(modf),但是情況很少。
2二元函數(binary),接受的是兩個結果,返回的是一個結果數組

3.1 一元通用函數

3.1.1 圖表總說明

 

紅線圈出為常用函數

import numpy as np
mat=np.mat(np.array([-10,5,-4,3,0,12]))
print(np.abs(mat)) #絕對值
print(np.fabs(mat)) #非復數情況下

3.1.2獲取矩陣中各元素的正負—sign

#獲取矩陣中各元素的正負號
sign=np.sign(mat)
print("sign:",sign)
#sign: [[-1 1 -1 1 0 1]]

3.1.3整數小數的抽取分離—modf

#將數組中元素的小數和整數部分抽取出來
arr=np.array([[1.2,3.34],
    [-2.5,6.8]])
arr1,arr2=np.modf(arr)
print("整數部分:",arr2)
print("小數部分:",arr1)

3.2二元通用函數

3.2.1圖表總說明

 

紅線圈出為常用函數

3.2.2對應的矩陣的冪函數運算—power

mat2=np.mat(np.array([1,2,3,4]))
mat3=np.mat(np.array([2,3,2,3]))
result1=np.power(mat2,mat3) #mat2中元素作為底,mat3作為冪
print(result1)

3.2.3獲取兩個數組中對應元素的最大/小值,存放到新的數組中power()

import numpy as np
mat3=np.mat(np.array([[1,2.2],[2,1.2]]))
mat4=np.mat(np.array([[5,2.6],[2,3.2]]))
result=np.power(mat1,mat2)
print(result) >> [[ 1.   20.57737365] [ 6.76  1.79217324]]

maximun=np.maximum(mat3,mat4)
print(maximun) >> [[5. 2.6] [2. 3.2]]

3.2.4數組比較—greater

result2=np.greater(mat3,mat4)
print(result2) >> [[False True] [ True False]]
# 亦或 xor:相同的為False,不同的為True

3.2.5創建同結構的數組—np.zeros_like()

import numpy as np
a=np.arange(4).reshape(2,2)
print(a)
#創建一個和a類型一樣,但數據全是0的數組
like_a=np.zeros_like(a)
like_a=3 #賦值
print(like_a)
#################################################################################
#創建一個通用函數numpy
def like(ndarry):
 result=np.zeros_like(ndarry)
 result.flat=5
 return result
#調用numpy創建通用函數的方法,1個輸入,一個輸出
myfunc=np.frompyfunc(like,1,1)
test=myfunc(np.arange(9).reshape(3,3))
print(test)
#結果如下:
#[[array(5) array(5) array(5)]
# [array(5) array(5) array(5)]
# [array(5) array(5) array(5)]]

四、矩陣運算-add運算

4.1矩陣元素求和—reduce

print("reduce:",np.add.reduce(a))
print("sum:",np.sum(a))

4.2矩陣元素求和列出—accumulate

print("accumulate",np.add.accumulate(a))

4.3reduceat函數

print("reduceat",np.add.reduceat(a,[1,3,2,4])) # >> reduceat [3 3 5 4]
 #第一步用到索引值列表中的1和3,對數組中索引值在1到3之間的元素進行reduce操作 得到3; 
 #第二步用到索引值3和2。由于2比3小,所以直接返回索引值為3的元素 得到3;
 #第三步用到索引值2和4。對索引值在2到4之間的數組元素進行reduce操作 得到4;
 #第四步用到索引值4。對索引值從7開始直到數組末端的元素進行reduce操作 得到5;

4.4各個矩陣元素相加—outer

arr1=np.array([1,6])
arr2=np.array([2,3,5,65])
result2=np.add.outer(arr1,arr2) #相加
result3=np.outer(arr1,arr2)  #相乘
print("outer:",result2)
 # outer 將第一個數組中的每個元素分別和第二個數組的所有元素相加

五、線性代數的應用

 5.1 逆矩陣—np.linalg.inv()

import numpy as np
A=np.mat(np.array([[0,1,2],[1,0,3],[4,-3,8]]))
#求A 的逆矩陣
A_=np.linalg.inv(A)
print("A的逆矩陣:\n",A_)

#驗證A*A_是否是單位矩陣
print("A*A_:\n",A*A_)

5.2計算矩陣—np.linalg.solve(arr1,arr2)

import numpy as np

'''
X-2Y+Z=0
2Y-8Z=8
-4X+5Y+9Z=-9
'''
#求解三元一次函數
A=np.mat("1 -2 1;0 2 -8;-4 5 9")
print("系數:",A)
B=np.array([0,8,-9])
print("常數:",B)

#調用numpy的solve方法
result=np.linalg.solve(A,B)
print("X={},Y={},Z={}".format(result[0],result[1],result[2]))

5.3 特征值和特征向量

import numpy as np
vector=np.mat("3 -2;1 0")
#求特征值
eigenvalues=np.linalg.eigvals(vector)
# 特征值是Ax=ax的根
eigenvalues,eigvector=np.linalg.eig(vector)
print("特征值:",eigenvalues)
print("特征向量:\n",eigvector)
>>結果:
特征值: [2. 1.]
特征向量:
 [[0.89442719 0.70710678]
 [0.4472136 0.70710678]]

5.4奇異值分解—np.linalg.svd()

import numpy as np
vector=np.mat("4 11 14;8 7 -2")
#調用numpy匯總的svd方法對矩陣進行奇異值分解
U,sigma,V=np.linalg.svd(vector,full_matrices=False)
print("U\n",U)
print("sigma:\n",sigma)
print("V:\n",V)

#將svd分解出的值相乘
print("vector:\n",U*np.diag(sigma)*V)

5.5矩陣行列式—np.linalg.det()

對于一個n×n的實數矩陣,行列式描述的是一個線性變換對“有向體積”所造成的影響。行列式的值為正表示保持了空間的定向(順時針或逆時針),為負則表示顛倒了空間的定向。numpy.linalg模塊中的det函數可以計算矩陣的行列式。

import numpy as np
vector=np.mat("3 4;5 6")
print(vector)
#求行列式
value=np.linalg.det(vector)
print("行列式:",value)

六、專用函數

6.1排序

6.1.1對數組元素進行排序

import numpy as np
arr=np.array([1,2,34,5])
result=np.sort(arr)
arr.sort()
print(arr)

6.1.2返回排序后數組元素的索引—argsort()

argsort=np.argsort(arr)
print("argsort:",argsort)
d2=np.array([[12,3,45,2],
    [43,552,1,9]])
#將多維數組按列排序
d2.sort(axis=0)
print(d2)
#[[ 12 3 1 2]
# [ 43 552 45 9]]
#將多維數組按行排序
d2.sort(axis=1)
print(d2)

6.1.3豎向索引排序

print(np.argsort(d2,axis=0))
[[0 0 0 0]
 [1 1 1 1]]

6.1.4橫向索引排序

print(np.argsort(d2,axis=1))
[[2 3 1 0]
[3 0 2 1]]

6.2搜索函數

6.2.1基本函數

6.2.2獲取最大值的下標—np.argmax()

import numpy as np
a=np.array([[2,3,653,4],
   [5,62,943,44,]])
b=np.array([32,13,65,43])
#如果是多維數組,則將多維數組展平后獲取最大值的下標
argmax=np.argmax(a)
print(argmax)

6.2.3非零元素獲取下標—np.argwhere()

#根據條件數組中搜索非零的元素,分析返回對應的下標
print("argwhere\n",np.argwhere(b>40))
print("argwhere 多維\n",np.argwhere(a>100))
'''
argwhere 多維
 [[0 2]
 [1 2]]
'''

6.2.4尋找合適的下標—np.searchsorted()

sorted=np.arange(5)
indices=np.searchsorted(sorted,[-2,7])
print(indices)      #下標

6.2.5添加符合的下標的元素,返回新的數組—np.searchsorted()

newsorted=np.insert(sorted,indices,[-2,7])
print("添加新元素后:\n",newsorted)

6.3抽取函數—extract(condition,ndarray)

一維

import numpy as np
a=np.arange(10)
#生成一個抽取元素的花式索引
condition=a%2==0#賦值/算術/邏輯運算符優先級
print("花式索引",condition)
even=np.extract(condition,a)
print("偶數項:",even)
#take()/compress()
even2=a.compress(condition)

多維強調內容

import numpy as np
#抽取數組中非零的元素np.nonzero() 的索引
arr=np.array([[0,1,2],[0,3,4],[0,5,6]])
rows,cols=np.nonzero(arr)
print("rows",rows)
print("cols:",cols)

indices=np.dstack((rows,cols))
print("indices:\n",indices)

6.4金融函數

6.4.1 計算存款/貸款(終值)—fv函數

 

np.fv(rate,nper,pmt,pv,)
rate:存款/貸款每一期的利率
nper:總期數
pmt:存款/貸款支付的金額
pv:存款/貸款金額
rate=0.03/4
nper=5*4
pmt=-10
pv=-1000

import numpy as np
#某用戶去銀行存款,假設年利率是3%,,每季度存10元,
# 存5年以及存款1000,五年后可得到的本息和是多少?

#g該用戶5年后得到的本息為
fv=np.fv(0.03/4,5*4,-10,-1000)
print("5年后本息和:",fv)
#計算每一年的本息和
for i in range(1,6):
 fv1=np.fv(0.03/4,i*4,-10,-1000)
 print("第",i,"年本息和為:{}".format(fv1))

6.4.2計算首月的金額(起始值)—pv函數

np.pv(rate, nper, pmt, pv, )
如果是貸款則是終值0
如果是貸款是本息和

import numpy as np
#存五年可得1376.0963320407982,計算5年前存款的金額
pv=np.pv(0.03/4,5*4,-10,1376.0963320407982)
print("5年錢第一次存款的金額是:",np.round(-pv))

6.4.3計算凈現值—npv函數

np.npv(rate,value)
rate:折現率
values:現金流
NPV>0,則除了得到預定的收益率外,可能得到更高的收益;
NPV0,則未達到利益水平,但是不能確定自己是否虧損;
NPV=0, 正好達到預期的收益效果 ,不是盈虧平衡

#投資100,支出39,59,55,20,折現率28.1%,凈現值多大?
npv=np.npv(0.281,[-100,39,59,55,20])
print("凈現值:",npv)

6.4.4計算每期還款金額—pmt函數

np.pmt(rate,nper,pv)
rate: 存款 / 貸款每一期的利率
nper:總期數
pv:需要還款的金額

#某人貸款20萬,15年還清,年利率是7.5%,求每月還的金額?
pmt=np.pmt(0.075/12,15*12,200000)
print("每月還款的金額:{}".format(pmt))

6.4.5計算還款期數—nper函數

np.nper(rate,pmt,pv,fv)
rate:存款/貸款每一期的利率
pmt:存款/貸款支付的金額
pv:存款/貸款金額
fv:總金額

#某人貸款20萬,每月還2000,年利率是7.5%,求多少年還完?
nper=np.nper(0.075/12,-2000,200000)
months=np.ceil(nper)
years=np.ceil(months/12)#向上取整
print("需要還款{}年".format(years)) >>14年

到此這篇關于Numpy實現矩陣運算及線性代數應用的文章就介紹到這了,更多相關Numpy 矩陣運算及線性代數內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python 如何解決稀疏矩陣運算
  • Python numpy大矩陣運算內存不足如何解決
  • Python常用庫Numpy進行矩陣運算詳解
  • unity實現貼圖矩陣運算(旋轉平移縮放)
  • python如何進行矩陣運算
  • python矩陣運算,轉置,逆運算,共軛矩陣實例
  • Tensorflow矩陣運算實例(矩陣相乘,點乘,行/列累加)
  • C語言實現矩陣運算案例詳解

標簽:內江 渭南 綿陽 興安盟 黔東 拉薩 廊坊 亳州

巨人網絡通訊聲明:本文標題《Numpy實現矩陣運算及線性代數應用》,本文關鍵詞  Numpy,實現,矩陣,運算,及,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Numpy實現矩陣運算及線性代數應用》相關的同類信息!
  • 本頁收集關于Numpy實現矩陣運算及線性代數應用的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    97久久久精品综合88久久| 国产一区二区三区蝌蚪| 国产精品视频一二| 国产亚洲美州欧州综合国| 欧美一区二区三区四区高清| 69堂精品视频| 精品理论电影在线| 久久新电视剧免费观看| 久久色.com| 国产欧美日本一区二区三区| 国产欧美视频一区二区| 国产精品久久久久久久第一福利| 欧美高清在线一区二区| 中文欧美字幕免费| 一区二区三区资源| 免费看精品久久片| 国产精品资源在线观看| 不卡一区二区三区四区| 91色视频在线| 在线播放国产精品二区一二区四区| 在线综合视频播放| 久久综合av免费| 亚洲欧美激情在线| 老司机免费视频一区二区三区| 国产精品一区在线观看乱码| 91视频在线观看| 欧美大片在线观看| 亚洲精品乱码久久久久久久久 | 欧美激情一区二区三区四区| 欧美激情自拍偷拍| 亚洲va国产天堂va久久en| 美女被吸乳得到大胸91| 成人综合在线观看| 欧美一级黄色大片| 亚洲三级视频在线观看| 久久精品理论片| 91久久国产综合久久| 久久综合久久久久88| 亚洲婷婷在线视频| 国产在线视频一区二区三区| 欧美性受xxxx| 国产精品婷婷午夜在线观看| 午夜精品123| 成人av网在线| wwwwww.欧美系列| 偷偷要91色婷婷| 91影院在线免费观看| 亚洲欧美日韩系列| 久草精品在线观看| 欧美日免费三级在线| 中文字幕一区三区| 狠狠久久亚洲欧美| 欧美一区二区三区视频免费 | 久久精品国产亚洲一区二区三区| 成人国产精品免费观看| 久久免费美女视频| 日韩不卡免费视频| 欧美日韩视频第一区| 亚洲人xxxx| 一本到三区不卡视频| 久久久久久一级片| 国内精品伊人久久久久影院对白| 欧美日韩小视频| 亚洲一区二区免费视频| voyeur盗摄精品| 国产精品乱码一区二三区小蝌蚪| 国产福利电影一区二区三区| 久久亚洲综合色| 极品瑜伽女神91| 日韩欧美中文一区二区| 老司机精品视频导航| 欧美久久久久免费| 日韩电影在线一区二区三区| 欧美精品日韩一区| 麻豆精品一二三| 欧美精品一区二区在线观看| 久久国产精品免费| 日韩精品一区二区三区swag| 蜜臀va亚洲va欧美va天堂| 欧美一区二区免费观在线| 麻豆久久久久久久| 精品成人一区二区三区| 高清shemale亚洲人妖| 国产女人18水真多18精品一级做| 国产精品正在播放| 国产精品天美传媒| 色94色欧美sute亚洲13| 亚洲国产综合在线| 欧美一区在线视频| 国产最新精品免费| 亚洲三级视频在线观看| 欧美日韩一区二区在线视频| 七七婷婷婷婷精品国产| 国产午夜久久久久| 在线免费亚洲电影| 日本亚洲电影天堂| 国产精品情趣视频| 欧美视频在线观看一区二区| 老司机精品视频在线| 亚洲欧美一区二区三区久本道91| 久久精品综合网| 色综合久久天天综合网| 国产视频一区在线观看 | 欧美a级理论片| 国产视频911| 欧美日韩视频第一区| 九一久久久久久| 亚洲免费在线播放| 久久综合九色综合久久久精品综合| 91在线高清观看| 精品一区二区免费看| 夜色激情一区二区| 国产欧美日韩精品在线| 欧美色综合影院| 国产成人av福利| 日韩成人av影视| 亚洲精品免费在线播放| 久久久蜜桃精品| 欧美人与禽zozo性伦| av福利精品导航| 国产曰批免费观看久久久| 亚洲成人免费影院| 亚洲欧美自拍偷拍| 中文字幕精品综合| 久久人人97超碰com| 5566中文字幕一区二区电影 | 欧美变态tickling挠脚心| 色一区在线观看| 粉嫩aⅴ一区二区三区四区| 日韩制服丝袜先锋影音| 亚洲欧美日本在线| 国产精品三级久久久久三级| 欧美videossexotv100| 欧美精品一卡两卡| 欧美日韩国产免费一区二区| 91麻豆成人久久精品二区三区| 成人午夜激情片| 粉嫩aⅴ一区二区三区四区| 久久99国产精品尤物| 蜜臀av一区二区在线免费观看| 亚洲妇女屁股眼交7| 亚洲精品老司机| 国产精品灌醉下药二区| 欧美国产丝袜视频| 久久久久久电影| 国产欧美一区二区精品性色| 亚洲精品在线三区| 久久夜色精品国产噜噜av| 精品国产乱码久久久久久蜜臀| 精品三级av在线| 久久先锋影音av鲁色资源| 欧美精品一区二区久久久| 久久精品在这里| 国产精品国产精品国产专区不片| 中文字幕一区免费在线观看| 亚洲男人天堂一区| 视频一区免费在线观看| 青娱乐精品在线视频| 国产在线不卡一区| www.激情成人| 欧美色精品在线视频| 91精品国产综合久久久蜜臀图片| 欧美一级高清片| 久久久久久电影| 亚洲另类色综合网站| 亚洲电影第三页| 激情都市一区二区| 97精品超碰一区二区三区| 91久久香蕉国产日韩欧美9色| 欧美三级视频在线观看| 日韩视频免费观看高清在线视频| 久久蜜桃av一区精品变态类天堂| 国产精品午夜在线| 亚洲丰满少妇videoshd| 国产一区二区三区最好精华液| 99久久er热在这里只有精品66| 欧美最猛黑人xxxxx猛交| 日韩三级电影网址| 中文字幕亚洲一区二区va在线| 亚洲大片在线观看| 国产黄色精品网站| 欧美日韩不卡一区二区| 日本一区二区动态图| 五月婷婷激情综合网| 成人午夜又粗又硬又大| 欧美日韩夫妻久久| 中文字幕第一区| 日本va欧美va欧美va精品| 成人黄色在线网站| 日韩一区二区三区av| 国产精品理论在线观看| 麻豆成人av在线| 欧美日韩一区二区欧美激情 | 欧美日韩综合一区| 国产精品免费网站在线观看| 日本欧美在线观看| 色伊人久久综合中文字幕| 中文一区二区在线观看| 老司机免费视频一区二区 | 亚洲国产精品精华液ab|