我有一些代码在x中的某个时间间隔内进行迭代,并计算出计算值和预期值y之差。
def find_alpha_max():
alpha=0
alphamax=1
alphamin=0
n=10
alphastep=(alphamax-alphamin)/n
data= np.zeros([n,2])
for i in range(1,len(data)):
alpha=i*alphastep
data[i,0] = alpha
data[i,1] = abs(wavelen(alpha)-121)
print(data)
def wavelen(alpha):
val1,val2= energy_levels(alpha)
transition= abs(val1-val2)
wavelength=(h*c/abs(transition*(1e-19)))/(1e-9)
return wavelength
这给出了输出:
[[ 0. 0. ]
[ 0.1 61.37844557]
[ 0.2 47.07247138]
[ 0.3 33.72835938]
[ 0.4 21.50950112]
[ 0.5 10.44535124]
[ 0.6 0.49201146]
[ 0.7 8.43091667]
[ 0.8 16.41859421]
[ 0.9 23.56862328]]
我想要做的是根据数组的y值(从最小到最大)对数组的顺序进行排序,以便获得可以用于数值最小化的x值。我该怎么做呢?
答案 0 :(得分:0)
您可以使用以下内容:
Sorted(your_array, lambda your_array:your_array[i])
这将允许您按较大数组中每个一维数组的ith元素进行排序。