Damped Sine Curve Class
Represents a damped sine wave curve used for modeling oscillatory phenomena with exponential decay.
Definition
Namespace: Numerics.NET.Curves.Nonlinear
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.0.0
C#
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.0.0
public class DampedSineCurve : NonlinearCurve- Inheritance
- Object → Curve → NonlinearCurve → DampedSineCurve
Remarks
Use the DampedSineCurve class to represent a five-parameter damped sinusoidal curve commonly encountered in physics and engineering when modeling oscillatory systems with damping.
A damped sine wave describes oscillations whose amplitude decreases exponentially over time, typical of systems with friction, resistance, or energy dissipation. Examples include the motion of a damped harmonic oscillator, RLC circuits, and mechanical vibrations.
The equation is:
y(x) = A e^{-kx} \sin\left(\frac{2\pi x}{T} + \phi\right) + CParameters:
- A – Initial amplitude (amplitude at x = 0). See Amplitude.
- k – Damping coefficient (rate of exponential decay). See DampingCoefficient.
- T – Period (determines oscillation rate). See Period.
- φ – Phase offset (horizontal shift of the oscillation). See PhaseOffset.
- C – Baseline offset (equilibrium position). See Offset.
Applications:
- RLC electrical circuits
- Mechanical vibrations and damped oscillators
- Seismic wave analysis
- Signal processing and decay analysis
- Acoustic resonance
- Quantum mechanics (wave packet decay)
For details on how to fit a curve of this type, see the NonlinearCurveFitter class.
Constructors
| Damped | Constructs a new damped sine wave curve. |
Properties
| Amplitude | Gets or sets the initial amplitude (A). |
| Damping | Gets or sets the damping coefficient (k). |
| Offset | Gets or sets the baseline offset (C). |
| Parameters |
Gets the collection of parameters that determine the shape of this
Curve.
(Inherited from Curve) |
| Period | Gets or sets the period (T). |
| Phase | Gets or sets the phase offset (φ). |
Methods
| Clone |
Constructs an exact copy of this instance.
(Inherited from Curve) |
| Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) |
| Fill |
Fills a dense vector with the partial derivatives of the curve with respect to
each of the curve parameters computed using numerical differentiation.
(Inherited from NonlinearCurve) |
| Fill |
Fills a dense vector with the partial derivatives of the curve with respect to
each of the curve parameters.
(Overrides NonlinearCurve.FillPartialDerivatives(Double, DenseVector<Double>)) |
| Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object) |
| Find |
Gets the set of X-coordinates where the curve crosses
the X-axis.
(Inherited from Curve) |
| Get |
Returns a CurveFitter object that can be used to fit the curve to data.
(Inherited from NonlinearCurve) |
| Get |
Returns a Curve that represents the derivative
of this Curve.
(Inherited from Curve) |
| Get | Serves as the default hash function. (Inherited from Object) |
| Get |
Returns a vector containing initial values for the parameters for a curve fit
through the specified data.
(Overrides NonlinearCurve.GetInitialFitParameters(Vector<Double>, Vector<Double>)) |
| Get |
Returns a vector with the partial derivatives
of the curve with respect to each of the curve parameters.
(Inherited from NonlinearCurve) |
| Get | Gets the Type of the current instance. (Inherited from Object) |
| Integral |
Gets the definite integral of the curve between the
specified X-coordinates.
(Inherited from Curve) |
| Memberwise | Creates a shallow copy of the current Object. (Inherited from Object) |
| Normalize | Normalize damped sine parameters to a canonical form: A ≥ 0, T > 0, φ ∈ (-π, π]. This removes sign and 2π ambiguities between amplitude, period, and phase. |
| OnParameter |
Called after a Curve parameter has been changed.
(Inherited from Curve) |
| OnParameter |
Called before the value of a curve parameter is changed.
(Inherited from Curve) |
| Set |
Sets a curve parameter to the specified value.
(Inherited from Curve) |
| Slope |
Gets the slopes of the curve at the specified X-coordinates.
(Inherited from Curve) |
| Slope |
Gets the slope of the curve at the specified X-coordinate.
(Overrides Curve.SlopeAt(Double)) |
| Slope |
Gets the slopes of the curve at the specified X-coordinates.
(Inherited from Curve) |
| Slope |
Gets the slopes of the curve at the specified X-coordinates.
(Inherited from Curve) |
| Slope |
Gets the slopes of the curve at the specified X-coordinates.
(Inherited from Curve) |
| Solve |
Finds the x value where the curve reaches the specified y value.
(Inherited from Curve) |
| Tangent |
Gets the tangent line to the curve at the
specified X-coordinate.
(Inherited from Curve) |
| ToString | Returns a string that represents the current object. (Inherited from Object) |
| Value |
Gets the Y-values of the curve at the specified X-coordinates.
(Inherited from Curve) |
| Value |
Gets the Y-value of the curve at the specified X-coordinate.
(Overrides Curve.ValueAt(Double)) |
| Value |
Gets the Y-values of the curve at the specified X-coordinates.
(Inherited from Curve) |
| Value |
Gets the Y-values of the curve at the specified X-coordinates.
(Inherited from Curve) |
| Value |
Gets the Y-values of the curve at the specified X-coordinates.
(Inherited from Curve) |