23 lines
571 B
Rust
23 lines
571 B
Rust
extern crate savgol_rs;
|
|
|
|
use savgol_rs::savgol_filter;
|
|
pub fn savgol(data: Vec<f64>, window: usize, order: usize) -> Vec<f64> {
|
|
let svinput= savgol_rs::SavGolInput{data:&data,window_length:window,poly_order:order,derivative:0};
|
|
|
|
savgol_filter(&svinput).unwrap()
|
|
}
|
|
|
|
|
|
#[test]
|
|
fn test_savgol() {
|
|
// 示例数据
|
|
let data = vec![1.0, 1.9, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0];
|
|
let window = 5;
|
|
let order = 2;
|
|
|
|
// 调用 savgol 函数
|
|
let smoothed_data = savgol(data.clone(), window, order);
|
|
println!("Smoothed data: {:?}", smoothed_data);
|
|
|
|
}
|