cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Check out the JMP® Marketplace featured Capability Explorer add-in
Choose Language Hide Translation Bar
lala
Level VIII

How to use the Fourier transform function of JMP to fit a list of curve data to the most suitable sinusoid?

For example, in the attachment, I have obtained the "smooth" data of the second column by drawing the smooth line formula of the first column.
The effect of increased "smooth" is to determine the most appropriate sine wave period by repeatedly crossing the two curves.
Of course, the original curve change is completely random, so it can only be required that the fitted sine wave can achieve the maximum satisfaction (sine wave is just a fixed pattern).
Like a sine wave in the picture.
(This image is implemented in python.)

 

Thanks Experts!

2024-11-19_20-33-36.png

7 REPLIES 7
lala
Level VIII

Re: How to use the Fourier transform function of JMP to fit a list of curve data to the most suitable sinusoid?

I need software to synthesize sine waves automatically.

lala
Level VIII

Re: How to use the Fourier transform function of JMP to fit a list of curve data to the most suitable orthodox curve?

That is, the number of the high point of the fitted fixed sine wave and the high point of the original "num" curve stage coincide as much as possible, and the number of the low point of the same sine wave and the low point of the original "num" curve stage coincide as much as possible

 

Thanks!

jthi
Super User

Re: How to use the Fourier transform function of JMP to fit a list of curve data to the most suitable orthodox curve?

JMP has FFT and some other things related to Fourier

jthi_0-1732026500313.png

Time Series Analysis could be helpful or if you have access to JMP Pro, you might have more options with Functional Data Explorer

-Jarmo
Victor_G
Super User

Re: How to use the Fourier transform function of JMP to fit a list of curve data to the most suitable orthodox curve?

Hi @lala,

 

I'm not completely sure to have understood your objective and needs (get a smoother curve than the original, probably noisy, curve data ?), but as @jthi mentioned, you have a lot of options in Functional Data Explorer to fit a curve and extract the fitted "smooth" model. I'm thinking B-/P-Splines and Fourier Basis models could work well on your use case, and there are pre-processing options that could help smoothen your curve data even further if needed : Savitzky-Golay filtering and extraction of derivatives, baseline correction, Standard Normal Variate method, Multiplicative Scatter Correction, etc...

 

Alternatively, you could also use the platform Fit Curve, that enable to fit a large amount of curve models.

You could also create a formula to specify your model equation, and use the platform Nonlinear Regression to estimate the different parameters of your model.

 

Hope this answer will help you in the meantime,

Victor GUILLER
L'Oréal Data & Analytics

"It is not unusual for a well-designed experiment to analyze itself" (Box, Hunter and Hunter)
lala
Level VIII

Re: How to use the Fourier transform function of JMP to fit a list of curve data to the most suitable orthodox curve?

Thanks Experts!

 

I need software to synthesize sine waves automatically.
My thoughts:
1. When the second column passes through the first column from below, it is the starting point of the first half of the sine wave
2. The first column rises to the top
3. When the second column passes through the first column from the top down, it is the end point of the first half of the sine wave and the starting point of the second half of the sine wave
4. The first column drops to the bottom
The period of a complete sine wave is determined in this way
In this way, the second column and the first column are repeatedly crossed to obtain many different sine wave periods.
Software is needed to find the period of the sine wave that best matches this data (the amplitude of the sine wave is secondary).

mzwald
Staff

Re: How to use the Fourier transform function of JMP to fit a list of curve data to the most suitable sinusoid?

I would recommend using python for this.  The scipy python library has a scipy.fft() function which takes a numpy array as an input which I find easier to use.  The good news is with JMP 18, you can now run python scripts inside of JMP and create JMP data tables from the numpy arrays.

 

https://docs.scipy.org/doc/scipy/tutorial/fft.html 

lala
Level VIII

Re: How to use the Fourier transform function of JMP to fit a list of curve data to the most suitable sinusoid?

Use python's FFT

Thanks!

2024-11-20_13-49-40.png