Re: looking for a platform to handle harmonic oscillation

Community Trekker

Joined:

Mar 22, 2017

Specifically looking for a curve fitting platform for underdamped oscillation

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted

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

Is this sort of what your'e looking for?

6 REPLIES

Super User

Joined:

Jun 22, 2012

In JMP 13, have you looked at

Anaylze==>Specialized Modeling==>Fit Curve

Jim

Community Trekker

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.

Super User

Joined:

Mar 17, 2015

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

Community Trekker

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.

Highlighted

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

Is this sort of what your'e looking for?

Community Trekker

Joined:

Mar 22, 2017

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