Curve-fitting One or More Sine Functions in the Time Domain

Here is a Matlab script and its supporting function for identifying the frequencies and amplitudes for one or more sine functions.

Trial-and-error curve-fitting is used with some convergence techniques.

Here is measured accelerometer data from a channel beam excited by an impulse force. channel.txt

The data has two columns: time(sec) & accel(G)

The response is largely free vibration.

The data shows a beat frequency effect with two superimposed sine functions, which can be identified using the sinefind.m script. The resulting frequencies are natural frequencies.

* * *

Here is a similar script for curve-fitting a time history with one or more damped sine functions:

Here is a measured acceleration time history to practise with. Try the curve-fit over the time segment 0.4 to 4.5 seconds.


* * *

See also:

A Time Domain, Curve-Fitting Method for Accelerometer Data Analysis: AIAA_7667_slide.ppt

* * *

If you have any questions on how to use these scripts, please send your data sample via Email to: or use the contact form below.

* * *

– Tom Irvine

Contact Form:

1 thought on “Curve-fitting One or More Sine Functions in the Time Domain

  1. Pingback: Webinar Unit 1 – Natural Frequencies | Vibrationdata

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s