fitting using fitnlm with bounded parameters

3 views (last 30 days)
I would like to estimate the amplitude and phase of a set of noisy data that should follow the model A sin(wt+phase) .
I can do this with NonLinearModel.fit, but it's not obvious how I can provide bounds on my parameters (phase should be between 0 and 2pi and the amplitude should be positive).
I have read that these nonlinear fitting functions cannot apply constraints to the model. Is this true that there's no way to use these nonlinear fitting methods with bounds on the parameters?

Accepted Answer

Torsten
Torsten on 26 Jun 2018
Edited: Torsten on 26 Jun 2018
It's not necessary to include bound options for your problem.
"phase" can be easily adjusted to lie between 0 and 2*pi, and "w" can be replaced by "w^2" in your model:
A*sin(w^2*t+mod(phase,2*pi))
Best wishes
Torsten.
  1 Comment
Steven Sagona
Steven Sagona on 13 Jul 2018
This works for what I asked for. Thank you. Any ideas what I can do if I want to give my frequency a range? (So for example, I want it to be between 40 & 50)?

Sign in to comment.

More Answers (0)

Tags

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!