#gaussian #curve-fitting #heap-memory #gaussian-curve

gaussian_curve_fit

A no_std and no heap memory library for gaussian curve coefficents calculation

4 releases

new 0.2.1 Nov 4, 2024
0.2.0 Nov 4, 2024
0.1.1 Nov 2, 2024
0.1.0 Nov 1, 2024

#374 in Math

Download history 239/week @ 2024-10-28

239 downloads per month

GPL-2.0-or-later

16KB
180 lines

gaussian_curve_fit

Rust

A no_std and no heap memory library for gaussian curve coefficents calculation.

example

    let mut gaussian_coes = GaussianCoefficents2D::default();
    let xdata = [
        -8.0f32, -6.0f32, -4.0f32, -2.0f32, 0.0f32, 2.0f32, 4.0f32, 6.0f32,
    ];
    let ydata = [
        6.7f32, 10.6f32, 13.5f32, 15.7f32, 16.6f32, 15.4f32, 14.2f32, 10.3f32,
    ];
    let (x_arr, y_arr) = GaussianCoefficents2D::get_matrix_data_from_8_points(&xdata, &ydata);
    gaussian_coes.get_coefficents_from_8_matrix_data(&x_arr, &y_arr, 1e-4);

    assert!((gaussian_coes.value(-8.0f32) - 6.7f32).abs() < 1.0f32);
    assert!((gaussian_coes.value(-4.0f32) - 13.5f32).abs() < 1.0f32);
    assert!((gaussian_coes.value(0.0f32) - 16.6f32).abs() < 1.0f32);
    assert!((gaussian_coes.value(4.0f32) - 14.2f32).abs() < 1.0f32);

Dependencies

~3MB
~65K SLoC