我正在寻找一种通用的 python 方法来将文本操作为可解方程。
例如:
可能有一些常量需要初始化
e1,e2=0.58,0.62
ma1,ma2=0.85,1.15
mw=0.8
Cpa,Cpw=1.023,4.193
dba,dbr=0.0,25.0
和一组方程(写在这里是为了可读性而不是求解器)
Q=e1*ma1*Cpa*(tw1-dba)
Q=ma1*Cpa*(dbs-dba)
Q=mw*Cpw*(tw1-tw2)
Q=e2*ma2*Cpa*(dbr-tw2)
Q=ma2*Cpa*(dbr-dbo)
这留下了 5 个未知数,因此推测系统可以解决。
Q, dbo, dbr, tw1, tw2
实际系统是非线性的,而且要复杂得多。
我已经用 scipy、Delphi、Sage 解决了这个简单的例子......所以我不是在寻找解决部分。
方程直接输入到文本编辑器中,我想要一个 Python 程序给我一个未知数数组和一个误差函数数组。
y = mysolver.fsolve(f, x)
所以,对于上面的例子
x=[Q,dbo,dbr,tw1,tw2]
f=[Q-e1*ma1*Cpa*(tw1-dba), Q-ma1*Cpa*(dbs-dba), Q-mw*Cpw*(tw1-tw2),
Q-e2*ma2*Cpa*(dbr-tw2), Q-ma2*Cpa*(dbr-dbo)]
我只是不知道如何提取未知数并创建错误函数。
我尝试了 compile.parse() 函数,它似乎给出了结构化的细分。
任何人都可以就最佳方法提出一些想法。