IsoscelesTriangleFit1D#
- class IsoscelesTriangleFit1D(rawData)#
Bases:
FitData1DIsoscelesTriangleFit1Dfits isosceles triangle wave functions to 1D data.Fits symmetric triangle wave functions where rise and fall times are equal (isosceles triangles) to experimental data. The function consists of linear rise and fall segments with specified period and phase. Inherits from
FitData1D.Formula:
\(u = (x + \phi) \bmod T\)
\(y(u) = \begin{cases} A_{\min} + (A_{\max} - A_{\min})\, \dfrac{u}{T/2}, & 0 \le u < T/2 \\ A_{\max} - (A_{\max} - A_{\min})\, \dfrac{u - T/2}{T/2}, & T/2 \le u < T \end{cases}\)
Coefficients: \(A_{\max}\), \(A_{\min}\), \(\phi\), \(T\)
Example1:
% Fit isosceles triangle wave to experimental data x = linspace(0, 20, 200); y = sawtooth(2*pi*0.2*x, 0.5) + 0.1*randn(size(x)); data = [x', y']; triangleFit = IsoscelesTriangleFit1D(data); triangleFit.do(); triangleFit.plot();
Example2:
% Access fit coefficients triangleFit = IsoscelesTriangleFit1D(data); triangleFit.do(); amax = triangleFit.Coefficient(1); % maximum amplitude amin = triangleFit.Coefficient(2); % minimum amplitude phi = triangleFit.Coefficient(3); % phase T = triangleFit.Coefficient(4); % period
- Constructor Summary
- IsoscelesTriangleFit1D(rawData)#
Construct an
IsoscelesTriangleFit1Dobject.- Parameters:
rawData (
double array) – Input data as n x 2 matrix [x, y]
- Method Summary
- guessCoefficient()#
Automatically estimate initial fit coefficients from data.
Estimates maximum/minimum amplitudes, period, and phase based on data characteristics and Fourier analysis. Uses isosceles assumption with equal rise and fall times.
- setFormula()#
Set the isosceles triangle wave fit formula.
Configures the
Funcproperty with an isosceles triangle function where rise time equals fall time (T/2 each).