2013-03-20 20 views
0

下面是我使用一些代碼的例子:如何選擇和繪製python中的特定數組?

import numpy as np 
import numpy.linalg as linalg 

A = np.random.random((10,10)) 
eigenValues,eigenVectors = linalg.eig(A) 

idx = eigenValues.argsort() 
eigenValues = eigenValues[idx] 
eigenVectors = eigenVectors[:,idx] 

我試圖做的是情節的惟一一組許多超過五個特徵向量的五個最小特徵向量,然後繪製出來。那麼如何選擇前五個特徵向量,然後將它們繪製在matplotlib中?

回答

1

下將選擇前五個特徵向量(假設你已經在你的例子做了排序爲):

eigenVectors[:,:5] 

至於如何最好地繪製十維向量,我不知道。

0

對於未來的讀者,這裏有一個代碼示例,正是這一點:

from pylab import * 
N = 10 
k = 5 
L = 1 

x = linspace(-L, L, N) 
H = random((N,N)) 
ls, vs = eig(H) 

#find and plot k lowest eigenvalues and eigenvectors 
min_values_indices = argsort(ls)[0:k] 
for i in min_values_indices: 
    plot(x, vs[:,i]) 

show() 

順便說一句 - 我已經改變了這個問題的東西更多的信息(如「numpy的主題 - 尋找最低ķ特徵值和特徵向量「)

相關問題