问题描述
我正在尝试对一组方程使用 f 求解:
- xa + xb = x
- xa/xb = (CA/CB)e^-(F/RT)*(E0_A-E0_B)。我打算解决 xa 和 xb 但 x 本身是一个数组,如下所示。我曾尝试这样做,但不断收到错误消息。我不知道我哪里出错了。
from scipy.optimize import fsolve
import numpy as np
x = np.array([0.01394346,0.01727623,0.02139363,0.02647018,0.03271463,0.04037362,0.04974189,0.06113669,0.07489298,0.0914198,0.11119803,0.13467519,0.1622032,0.19409497,0.23056969,0.27160588,0.3169306,0.36594778,0.41776317,0.471372,0.5256699,0.5794641,0.63155216,0.68075466,0.72615373,0.767264,0.80389225,0.8359975,0.8637226,0.8873593,0.9072883,0.92398256,0.93792963,0.9494987,0.95898896,0.96673596,0.9730703,0.9782413,0.982436,0.9858274,0.9885736,0.99079704,0.9925912,0.99403596,0.99519914,0.99613607,0.9968898,0.99749595,0.9979841,0.99837816])
def eqs(p):
R = 8.314
F = 96485
T = 298.15
E0_A = 0.516
E0_B = 0.393
CA = 0.37
CB = 0.63
xa,xb = p
return ((xa+xb)- x,(xa/xb)-(0.37/0.63)*np.exp(-(96485/(8.314*298.15))*(0.393-0.516)))
eqs((1,1))
fsolve(eqs,x0 = (1,1))
ValueError: 使用序列设置数组元素。 类型错误:只有大小为 1 的数组可以转换为 Python 标量
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)