#equations #calculus #forms #solve #derivative #string #function

calculi

一个用于在字符串形式的方程上应用微积分函数的crate

4个版本

0.2.0 2019年4月13日
0.1.2 2019年2月13日
0.1.1 2019年2月10日
0.1.0 2019年2月10日

#980 in 数学

MIT许可

30KB
717

Calculi

'calculi'是一个crate,用于对未知变量的代数方程进行求解,以得到给定结果。

它还能在所有未知变量都给定的情况下求解方程,并执行其他微积分函数。

特性

以下是该crate的当前特性(有关未来特性的更多信息,请参阅未来特性)。

  • 尝试代数求解方程
  • 求解给定变量的方程
  • 计算导数(并以字符串/组件形式提供它们)

示例

let eq1 = calculi::Equation::new("x - 2 * a + 4 ^ b");

assert_eq!(eq1.solve_for(10.0, vec![("a", 4.5), ("b", 1.0)]).1, 15.0);


let eq2 = calculi::Equation::new("max(x + 3, root(y, 3), 1) + ln(exp(3))");

assert_eq!(eq2.solve_with(vec![("x", 2.0), ("y", 27.0)]).to_float().unwrap(), 8.0);


let eq3 = calculi::Equation::new("x ^ 3");

assert_eq!(eq3.derive().text, "3 * x ^ 2")

请参阅文档以获取有关如何使用此crate及其函数的更多信息。

未来特性

如果您想做出贡献,以下是一些您可以做出的贡献。

  • 计算原函数(并以字符串/组件形式提供它们)
  • 逆函数
  • 可能极限(当导数和积分实现时)
  • 更多的微积分...

修复可能的错误、缩短代码(不使其效率降低)或提高效率当然是受欢迎的。

无运行时依赖