我正在尝试在自变量的范围内找到最大值(和最小值),即X(或Y)。我的代码如下所示。注意,这只是一个代表性的功能。
import numpy as np
import matplotlib.pyplot as plt
X = np.arange(0, 12, 0.1)
Y = np.arange(0, 2,1)
Z = np.zeros((len(X),len(Y)))
for i in range(0,len(X)):
for j in range(0,len(Y)):
if j < 1:
Z[i,j] = np.sin(X[i]) + np.cos(Y[j])
else:
Z[i,j] = 2*np.sin(X[i]-5) + np.cos(Y[j])
print(Z)
A = np.argmax(Z, axis = 0)
print(A)
D = Z[A[0],0]
print(D)
plt.plot(X,Z,'-', linewidth = 2)
plt.xlabel('$X$ (-)')
plt.ylabel('$Z$ (-)')
我读到Z的全局最大值可以在[[X范围A = np.argmax(Z, axis = 0)
的0 and 2
中找到。但是,我想找到在[[X范围4 and 8
中]的局部最大值。是否有办法找出答案?任何帮助表示赞赏。谢谢!