如何在python中仅选择和绘制特定数组?
下面是我正在使用的一些代码的示例:如何在python中仅选择和绘制特定数组?,python,numpy,matplotlib,Python,Numpy,Matplotlib,下面是我正在使用的一些代码的示例: 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] 我要做的是,在一组五个以
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中绘制它们呢 下面将选择前五个特征向量(假设您已经完成了示例中的排序):
至于如何最好地绘制一个十维向量,我不确定。对于未来的读者,这里有一个代码示例,它正好做到了这一点:
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-找到最低k特征值和特征向量”)
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()