Skip to main content

srsf_transform

Function srsf_transform 

Source
pub fn srsf_transform(data: &FdMatrix, argvals: &[f64]) -> FdMatrix
Expand description

Compute the Square-Root Slope Function (SRSF) transform.

For each curve f, the SRSF is: q(t) = sign(f'(t)) * sqrt(|f'(t)|)

§Arguments

  • data — Functional data matrix (n × m)
  • argvals — Evaluation points (length m)

§Returns

FdMatrix of SRSFs with the same shape as input.

§Examples

use fdars_core::matrix::FdMatrix;
use fdars_core::alignment::srsf_transform;

let argvals: Vec<f64> = (0..20).map(|i| i as f64 / 19.0).collect();
let data = FdMatrix::from_column_major(
    argvals.iter().map(|&t| (t * 6.0).sin()).collect(),
    1, 20,
).unwrap();
let srsf = srsf_transform(&data, &argvals);
assert_eq!(srsf.shape(), (1, 20));