所以我有这个for循环:
lisT=[]
nn=[]
hh=[]
tt=[]
matrix=np.matrix([lisT],[nn],[hh],[tt])
for t in range(5,9,1):
for h in range(9,50,1):
for n in range(1,8):
be=(b*1000)/n
i1=(512/4500)*h*t**3
i2=(1/15)*t*h**3+(192/375)*h*t**3-(24/75)*(h**2)*(t**2)-(512/1875)*t**4
i3=(1/12)*be*t**3
z1=(t+(h-(8/5)*t)+0.8*t)**2
z2=(t+0.5*(h-(8/5)*t))**2
z3=0.25*t**2
a1=(8/15)*t*h
a2=(h-(8/5)*t)*0.8*t
a3=t*be
W=(a1*z1+a2*z2+a3*z3)+i1+i2+i3
Wtot=W*n
if Wtot>Wr:
pkst=n*10*t**2
volume=(t/1000)*b*a+(1/3)*(h/1000)*(8/5)*(t/1000)*a+(4/5)*(t/1000)*((h/1000)-(8/5)*(t/1000))*a
mkst=volume*2600*1.8
Tkst=pkst+mkst
lisT.append(Tkst)
np.hstack(lisT)
nn.append(n)
np.hstack(nn)
hh.append(h)
np.hstack(hh)
tt.append(t)
np.hstack(tt)
基本上我必须找到的最小值
Tkst
具有相应的h,t和n值。事先,我只是列出了一个Tkst,并在列表中找到了最小值。显然我当时不知道后一个变量的相应值。因此,我尝试制作矩阵,如上所示,以便我可以在知道对应值的同时在列中查找最小值。此循环给我以下错误:
TypeError: __new__() takes from 2 to 4 positional arguments but 5 were given
有人知道如何解决这个问题吗?