📜  公式 costo (1)

📅  最后修改于: 2023-12-03 15:36:46.247000             🧑  作者: Mango

公式 Costo

Costo 是一个基于 Python 的开源公式计算库,旨在为程序员提供便捷的数学计算和编程体验,特别适用于数学建模和科学计算领域。

安装
pip install costo
使用

导入 costo 包并创建公式对象:

from costo import Formula

f = Formula('2*x + 1')

计算公式值:

result = f(3)
print(result)  # 7

也可以使用 eval() 函数进行计算:

result = eval(str(f), {'x': 3})
print(result)  # 7
支持的函数和运算符

支持常见的数学函数和运算符,例如:

  • sin(): 正弦函数
  • cos(): 余弦函数
  • tan(): 正切函数
  • exp(): 指数函数
  • ln(): 自然对数函数
  • log10(): 以10为底的对数函数
  • sqrt(): 平方根函数
  • +, -, *, /, **: 四则运算及乘方运算
  • (): 括号运算符

例子:

f = Formula('sin(x) + cos(2*x) / 2')
result = f(0.1)
print(result)  # 1.04655167542
支持变量和参数

公式支持变量和参数,在创建公式对象时,可以指定变量和参数的名称和值。比如:

f = Formula('a*x**2 + b*x + c', a=1, b=2, c=3)
result = f(x=4)
print(result)  # 27
支持自定义函数

可以自定义函数并应用到公式中,例如:

from costo import Formula

def f(x):
    return 2*x

Formula.register_function(f)

g = Formula('f(x) + 3')
result = g(x=2)
print(result)  # 7
性能

Costo 使用 numexpr 库进行表达式计算优化,性能较高。

注意事项
  • 公式中的变量必须在传入的参数字典中指定值,否则会抛出 NameError 异常;
  • 公式中的参数值可以在创建公式对象时指定,也可以在计算时动态指定;
  • 公式中使用的自定义函数必须在调用之前先进行注册;
  • 暂不支持复数和矩阵运算。
参考资料