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 数学
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及其函数的更多信息。
未来特性
如果您想做出贡献,以下是一些您可以做出的贡献。
- 计算原函数(并以字符串/组件形式提供它们)
- 逆函数
- 可能极限(当导数和积分实现时)
- 更多的微积分...
修复可能的错误、缩短代码(不使其效率降低)或提高效率当然是受欢迎的。