我得到了这个TypeError
"TypeError: unsupported operand type(s) for -: 'list' and 'Symbol'".
显然,它发生在第二部分,其中我减去列表的条目和求解器的符号(T_sto [t,l-1] -x)。但是我不会减去整个列表而只减去一个条目,所以我不知道为什么它无法运行。有人可以帮忙吗?我确定这是一个容易解决的问题,但我现在仍在努力解决它。
这是我的代码:
for t in range(1, n_H):
for l in range(layers):
if (t==1): # use T_init(i) instead of T(t-1, i)
if(l>0):
T_prev=T_init[l-1]
else:
T_prev=T_sto[t-1,l]
if (l==1): # Top layer
T_sto[t,l] = solve((m_sto[l-1]*c_w/dt * (x - T_prev) - m_hp[t] * c_w * sheet.cell_value(t,8)
+ m_hou[t] * c_w * x + m_hou[t] * c_w * T_sto[t,l+1]
+ m_hp[t] * c_w * x
+ k_sto * A_sto[l-1] * (x - T_sur)
- lbd * A_CS / dz[l-1] * (T_sto[t,l+1] - x)), x)
elif (l==2): # Medium layer has the heat generator
T_sto[t,l] = solve(m_sto[l-1]*c_w/dt * (x - T_prev) - m_hou[t] * c_w * (T_sto[t,l+1] - x)
- m_hp[t] * c_w * (T_sto[t,l-1] - x)
+ k_sto * A_sto[l-1] * (x - T_sur)
- lbd * A_CS / dz[l-1] * (T_sto[t,l+1] - 2*x + T_sto[t,l-1]), x)