12个发布版本
0.2.1 | 2024年7月18日 |
---|---|
0.2.0 | 2024年7月18日 |
0.1.2 | 2024年4月30日 |
0.0.61 | 2023年4月23日 |
0.0.5 | 2023年2月19日 |
#6 在 #derivation
261 每月下载量
71KB
2K SLoC
功能
- 1D,2D,3D,ND(具有自定义变量)函数
- 设置参数并分配值(默认为0.0)
- 计算任意阶数的导数、梯度、海森矩阵
- F1D可以数值积分
- 支持以下函数
- Ln, Sin, Cos, Tan, Sec, Csc, ASin, ACos, ATan, Sinh, Cosh, Tanh, Coth, Sech, Csch, ASinh, ACosh, ATanh, Abs
- 某种类型的表达式简化
示例
use ruut_functions::{f3d, F3D};
fn main() {
let mut f = f3d!("x^3+y^2+yx^2+[eta]");
f.set_par("eta", 6.9);
assert_eq!(f.eval(0., 0., 0.), 6.9);
assert_eq!(
f.gradient(),
vec![f3d!("2xy+3x^2"), f3d!("2y+x^2"), f3d!("0")]
);
assert_eq!(
f.hessian(),
vec![
vec![f3d!("2y+6x"), f3d!("2x"), f3d!("0")],
vec![f3d!("2x"), f3d!("2"), f3d!("0")],
vec![f3d!("0"), f3d!("0"), f3d!("0")]
]
)
let f = f1d!("abs(x)+sin(x)");
assert_eq!(f.eval(-2),2.90929742683)
}
lib.rs
:
Crate用于从字符串创建数学函数并执行符号导数