我是编程新手,所以即使是简单的事情,我也遇到了麻烦;
我想从下面的三个g1vec & a1vec & z1vec
循环中获取3个向量for
,我有一个Xvec
,其中包含120个数据,我想要的是每个x in Xvec
尝试90 A
个值,而A
每个Zs
都会有A
直到那个A(Zs首先浮动然后通过比较ceil和floor我将采用最小的那个)然后使用这些值找到最佳Zs
,gibbs
对,最小化我的函数Xvec
的120 A
值。
经过几天的试验,我可以编写下面的代码,但代码工作得很慢,我认为应该有 direct 方法来查找这些Zs
和 for x in Xvec:
for A in range(1,91):
for Zs in (np.arange(1, A+1 , 0.1 , dtype=float)):
g = gibbs(x,A,Zs)
g1 = np.append(g1,g)
min_pos, minofg = g1.argmin() , g1.min()
Zpos = 1+(0.1)*min_pos
Zceil = np.ceil(Zpos)
Zfloor = np.floor(Zpos)
gc = gibbs(x,A,Zceil)
gf = gibbs(x,A,Zfloor)
k = min(gc,gf)
if k == gc: Z = Zceil
else: Z = Zfloor
z1 = np.append(z1,Z)
x1 = np.append(x1,x)
a1 = np.append(a1,A)
for N in range(0,10711,90):
a = min(g1[N:N+90])
g1vec = np.append(g1vec,a)
b = g1[N:N+90].argmin()
a1vec = np.append(a1vec,a1[N+b])
z1vec = np.append(z1vec,z1[N+b])
参数,实际上我甚至不确定使用此代码我得到了我需要的结果。任何建议都非常感谢
gibbs
所以最后我需要有3个向量,每个x的函数A
的最小可能值,另外2个是Zs
和 // Source
private objectDetailsCache = new Subject<ObectDetails>();
// Stream
public objectDetails$ = this.objectDetailsCache.asObservable().cache();
值该函数的最小值。
在我找不到任何其他方式之后,我计算了所有可能性,然后尝试将它们分别用于另一个for循环,但它需要永远,我有很多疑问,它实际上甚至可以工作。