I How Do You Fit a Sine Wave to Data Points?

AI Thread Summary
To fit a sine wave to a set of data points, the typical approach is to use a least squares fit to minimize the sum of squared deviations, determining parameters for amplitude (a), frequency (f), and phase (p). The frequency in the sine function is expressed as f multiplied by 2 pi. While there are programs that automate this process, creating a custom solution requires understanding least squares and potentially nonlinear optimization algorithms. Resources such as statistics textbooks and online tutorials can provide foundational knowledge on these methods. Ultimately, fitting sine or cosine functions follows similar principles, and mastering these techniques can lead to effective data modeling.
Simoyd
Messages
3
Reaction score
0
So my question is, how does this work (hopefully I'm allowed to do hyperlinks):
https://www.desmos.com/calculator/zlvrts7mul

Given a table of x and y coordinates, how do I find the sin wave of best fit. I need to get f (frequency), a (amplitude), and p (phase) for the function in this form f(x) = a ⋅ sin( x ⋅ f + p )

My end goal is to have a software function that can do this. I'm really having difficulty figuring out where to start :(. I'd like to also be able to do this for cos(), but I'm not sure if I can figure out cos based on how sin works.

I'd like to understand how it's done, but at the same time I'm a bit scared that this might be way over my head. Any help would be appreciated.
 
Mathematics news on Phys.org
It depends a bit on your data, the typical approach would be a least squares fit where you find parameters a,f,p that minimize the sum of squared deviations (or squared [deviations divided by the uncertainty], if known for each entry). There are programs to do that automatically.
It doesn't matter if you fit a sine or a cosine or any other reasonable function, the algorithm is the same.

f in your formula is the frequency multiplied by 2 pi, by the way.
 
oh yes, 2 pi I forgot.

I guess I know that there are programs that do this. I want to have my own program do this. I'm very confused with how least squares works. I've looked it up on google a bunch but just get confused. Is there maybe a resource that you would suggest?
 
Every statistics textbook should cover it, and various websites should have good descriptions. The basic idea is not complicated, doing that efficiently for more complex functions can be challenging but with a sine wave it should be fine.
 
And, of course, you can use some form of a Fourier transform, FFT, DFT,...
 
For linear models, a typical statistics book would cover this process. For nonlinear functions with parameters like you have, nonlinear quadratic optimization algorithms have been developed. They use the gradient of the quadratic error function to find the changes of parameters a, f, and p that will lead it (usually step-by-step) to values a=a0, f=f0, p=p0, that give a minimum error. It is a studied in nonlinear programming.
 
Thread 'Video on imaginary numbers and some queries'
Hi, I was watching the following video. I found some points confusing. Could you please help me to understand the gaps? Thanks, in advance! Question 1: Around 4:22, the video says the following. So for those mathematicians, negative numbers didn't exist. You could subtract, that is find the difference between two positive quantities, but you couldn't have a negative answer or negative coefficients. Mathematicians were so averse to negative numbers that there was no single quadratic...
Insights auto threads is broken atm, so I'm manually creating these for new Insight articles. In Dirac’s Principles of Quantum Mechanics published in 1930 he introduced a “convenient notation” he referred to as a “delta function” which he treated as a continuum analog to the discrete Kronecker delta. The Kronecker delta is simply the indexed components of the identity operator in matrix algebra Source: https://www.physicsforums.com/insights/what-exactly-is-diracs-delta-function/ by...
Thread 'Unit Circle Double Angle Derivations'
Here I made a terrible mistake of assuming this to be an equilateral triangle and set 2sinx=1 => x=pi/6. Although this did derive the double angle formulas it also led into a terrible mess trying to find all the combinations of sides. I must have been tired and just assumed 6x=180 and 2sinx=1. By that time, I was so mindset that I nearly scolded a person for even saying 90-x. I wonder if this is a case of biased observation that seeks to dis credit me like Jesus of Nazareth since in reality...
Back
Top