1.生成隨機稀疏矩陣:
scipy中生成隨機稀疏矩陣的函式如下:
scipy.sparse.rand(m,n,density,format,dtype,random_state)
引數介紹:
引數含義
m,n整型;表示矩陣的行和列
density
實數型別;表示矩陣的稀疏度
format
str型別;表示矩陣的型別;如format=『coo』
dtype
dtype;表示返回矩陣值的型別
ranom_state
;可選的隨機種子;如果空缺,預設numpy.random
例子
**如下:
import scipy as spy
n=4m=4
density=0.5
matrixformat='coo'
b=spy.sparse.rand(m,n,density=density,format=matrixformat,dtype=none)
print(b)
>>>
(1, 1) 0.0687198939788
(3, 3) 0.141328654998
(0, 3) 0.944468193258
(2, 3) 0.598652789611
(0, 2) 0.0629165518906
(2, 0) 0.624087894456
(1, 2) 0.309460820898
(2, 2) 0.731375305002
2.稀疏矩陣的操作:
import scipy as spy
n=4m=4
row=spy.array([0,0,0,1,1,3,3])
col=spy.array([0,0,1,2,3,2,3])
value=spy.array([1,2,1,8,1,3,5])
print('自定義生成乙個csc格式的稀疏矩陣..')#'coo'格式的矩陣無法進行以下某些操作
a=spy.sparse.csc_matrix((value,(row,col)),shape=(n,m))
print('稀疏矩陣的非稀疏表示形式...')
print(a.todense())
print('稀疏矩陣的非零元素對應座標...')
nonzero=a.nonzero()
print(nonzero)
print('輸出非零元素對應的行座標和列座標...')
print(nonzero[0])
print(nonzero[1])
print('輸出第i行非零值...')
i=2print(a[i,:])
print('輸出第j列非零值...')
j=2print(a[:,j])
print('輸出座標為(i,j)對應的值...')
print(a[i,j])
輸出結果如下:
自定義生成乙個csc格式的稀疏矩陣..
稀疏矩陣的非稀疏表示形式...
[[3100]
[0081]
[0000]
[0035]]
稀疏矩陣的非零元素對應座標...
(array([0, 0, 1, 1, 3, 3], dtype=int32), array([0, 1, 2, 3, 2, 3], dtype=int32))
輸出非零元素對應的行座標和列座標...[00
1133]
[0123
23]輸出第i行非零值...
輸出第j列非零值...
(1, 0) 8
(3, 0) 3
輸出座標為(i,j)對應的值...
0
python學習第13周 scipy
10.1 題目 題解import numpy from scipy.linalg import lstsq 10.1 least square m 20 n 10 a numpy.random.normal size m,n b numpy.random.normal size m x,residu...
python學習 scipy知識點
1.1 integral積分運算 import numpy as np from scipy.integrate import quad,dblquad,nquad quad是一元積分,dblquad是二元積分,nquad表示n維的積分 print quad lambda x np.exp x 0,...
利用python中的scipy模組做線性規劃
為數學建模準備。scipy.optimize.linprog 引數選擇 linprog c,a ub,b ub,a ed,b ed,bounds none 引數解釋 c 價值向量,只規劃最小值,若規劃最大值需改為 c,但注意得出的結果應再加負號即為所求最大值 a ub和b ub 分別對應於不等式約束...