gpt4 book ai didi

python - 允许将数字公式视为对象的开源语言/库/表示格式?

转载 作者:行者123 更新时间:2023-11-28 23:04:43 26 4
gpt4 key购买 nike

我正在寻找一种将一系列公式/方程式存储为文本的方法(因此它们很容易区分)。后面的公式取决于前面公式的结果。

我应该能够将公式(类似于 MathCAD 中的实时工作表)计算为数字结果,而且能够以编程方式生成原始公式的字符串表示形式。

换句话说,我希望能够将公式本身视为数据,并对公式求值。

我想要一个文本编辑器,在编辑公式时可以突出显示语法。

我的第一个方法是将公式存储为字符串的 Python 文件,然后对字符串调用 eval()。但是,这不允许对公式进行语法突出显示。

我选择的语言是 Python,但我愿意接受其他非专有解决方案。

例子:

a = 73
b = 13
c = 100
d = 20
e = 18

x = a^2 + b / (c - min(d, e))
y = c + sqrt(x * e)

目的是使用公式的评估结果自动生成其他代码,同时使用原始公式本身注释生成的代码。

最佳答案

你可以使用 sympy:

from sympy import *

a,b,c,d,e = symbols("a,b,c,d,e")
x = a**2 + b/(c-min(d,e))
y = c+sqrt(x*e)

values = {a:73,b:13,c:100,d:20,e:18}

print x
print y

print x.subs(values)
print y.subs(values)

print N(x.subs(values))
print N(y.subs(values))

输出是:

a**2 + b/(c - d)
c + (e*(a**2 + b/(c - d)))**(1/2)
426333/80
100 + 3*4263330**(1/2)/20
5329.16250000000
409.717492240913

关于python - 允许将数字公式视为对象的开源语言/库/表示格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7330284/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com