我正在测试某个函数中A和B的值,需要找到该函数的最小值,以及A和B的哪些值会产生此最小值。我正在努力寻找一种方法来从我制作的数组中获取这些值。
我首先定义一些数组
ones = np.ones((3456,5184))
array = np.zeros([5,5])
real = threshold
test = testsunthree
real和test是在代码的早期定义的数组。
for A in range(-2,2):
for B in range(-2,2):
array[A,B]=((np.mean((real-(test*(A*0.1)+((B*0.1)*ones))**2))))
在这里,我正在测试A和B的值,该值在-2和2之间的范围内,并将每个值插入到函数中。然后将该函数的值存储在上面定义的空数组中。
array_min = array[array != 0].min()
print (array_min)
print zip(*np.where(array == array.min()))
然后,我试图确定该数组的最小值,并希望找到此函数的最小值A和B的值。这是我正在努力的部分,因为最后两行给出的值不正确。
答案 0 :(得分:0)
这为您提供了名为array
的数组的最小值。我为threshold
和testsunthree
放置了随机值,以使代码正常工作并更改min()
函数的利用率
import numpy as np
threshold = 4
testsunthree = 2
ones = np.ones((3456,5184))
array = np.zeros([5,5])
real = threshold
test = testsunthree
for A in range(-2,2):
for B in range(-2,2):
array[A,B]=((np.mean((real-(test*(A*0.1)+((B*0.1)*ones))**2))))
array_min = np.min(array)
print (array_min)
我迅速做出了一个肮脏的解决方案,以获取您具有数组最小值的不同的A,B值,可以轻松地对其进行改进,因为这只是一种快速的显示方法
index = np.where(array == array_min)
A_B_value = []
for i in range(0, len(index[0])):
min_index = []
min_index.append(index[0][i])
min_index.append(index[1][i])
A_B_value.append(min_index)
print(A_B_value)