Subscribe Bookmark RSS Feed

looking for a platform to handle harmonic oscillation

LMSteve

New Contributor

Joined:

Mar 22, 2017

Specifically looking for a curve fitting platform for underdamped oscillation

1 ACCEPTED SOLUTION

Accepted Solutions
vince_faller

Super User

Joined:

Mar 17, 2015

Solution

Are you trying to just plot an underdamped oscillator?  Or are you trying to fit beta and w0?  The below script will actually fit. 

 

Names Default to here(1);
dt = New Table("Harmonic Oscillator", 
	New Table Variable("beta", .3),
	New Table Variable("w0", .4),
	New Column("t", set values(0::50)), 
	New Column("Cos t", formula(Cos(t))), 
	New Column("Damped Cos t", Formula(
		exp(-:beta*:w0*:t)*cos(:w0*t) + random normal(0, .01) //just adding noise
	)), 
	New Column("Predictor", 
		Formula(
			Parameter({pbeta = .2, pw0 = .5}, 
				exp(-pbeta*pw0*:t)*cos(pw0*t)
			)
		)
	)
);

dt << Nonlinear( Y( :Damped Cos t ), X( :Predictor ), Newton );

 

To give you this.  notice how my actual beta/w0 was .3/.4 but I started my predictor with .2/.5

3-24-2017 10-56-15 AM.png

 

Is this sort of what your'e looking for?

6 REPLIES
txnelson

Super User

Joined:

Jun 22, 2012

In JMP 13, have you looked at

     Anaylze==>Specialized Modeling==>Fit Curve

Jim
LMSteve

New Contributor

Joined:

Mar 22, 2017

Hacking through that now - thanks.  My data should create a an exponentially decaying sinusoid.  Trying to figure out how to make JMP do it.

vince_faller

Super User

Joined:

Mar 17, 2015

You can give custom equations and parameters in the nonlinear platform.  Also Under specialized models.  

LMSteve

New Contributor

Joined:

Mar 22, 2017

Thanks y'all.  I appreciate the suggetions.  I was able to answer my client's question by fitting an exponential decay curve through my data rather than generate the oscillating underdamped plot.  I would like to figure that part out though.  I need to find some examples to learn from.  Thanks again.

vince_faller

Super User

Joined:

Mar 17, 2015

Solution

Are you trying to just plot an underdamped oscillator?  Or are you trying to fit beta and w0?  The below script will actually fit. 

 

Names Default to here(1);
dt = New Table("Harmonic Oscillator", 
	New Table Variable("beta", .3),
	New Table Variable("w0", .4),
	New Column("t", set values(0::50)), 
	New Column("Cos t", formula(Cos(t))), 
	New Column("Damped Cos t", Formula(
		exp(-:beta*:w0*:t)*cos(:w0*t) + random normal(0, .01) //just adding noise
	)), 
	New Column("Predictor", 
		Formula(
			Parameter({pbeta = .2, pw0 = .5}, 
				exp(-pbeta*pw0*:t)*cos(pw0*t)
			)
		)
	)
);

dt << Nonlinear( Y( :Damped Cos t ), X( :Predictor ), Newton );

 

To give you this.  notice how my actual beta/w0 was .3/.4 but I started my predictor with .2/.5

3-24-2017 10-56-15 AM.png

 

Is this sort of what your'e looking for?

LMSteve

New Contributor

Joined:

Mar 22, 2017

Exactly!!!  You hit a grand slam!  Many thanks!!