Fit model with 3 independent variables and many parameters to data?

2 views (last 30 days)
Is it possible to use the fit() function to fit a model with 3 independent variables and many parameters (coefficients)? Reading through the documentation, I get the impression that Matlab only supports 2 independent variables. Any insight would be helpful.
Thanks, Justin

Accepted Answer

Sean de Wolski
Sean de Wolski on 26 Oct 2012
Do you have the Statistics or Optimization Toolboxes? If so:
Optim:
* doc lsqcurvefit
* doc lsqlin
* doc lsqnonlin
Stats:
* doc NonlinearModel
* doc LinearModel
* doc regress
I'm missing many others, we can point you in a more specific direction if you have more details.
  4 Comments
Justin Solomon
Justin Solomon on 26 Oct 2012
Edited: Justin Solomon on 26 Oct 2012
Sorry, my code is a little bit messy right now (its written in a GUI and it would take me a while to put it in an understandable format).
I've implemented the lscurvefit() routine. It works in a reasonable amount of time if I give it a good starting guess and limits.
Anyways, is there a way to weight input data points (ydata)? In other words, some of my data points are less important than others so I would like to minimize a 'weighted' sum of square errors instead of the normal sum of square errors used by default. Possible? Thanks again for your help.
Justin Solomon
Justin Solomon on 26 Oct 2012
I just saw that I can use lsqnonlin() instead of lsqcurvefit() to do what I need because in lsqnonlin() the function that your minimizing is supposed to return the residuals instead of the predicted values as in lsqcurvefit(). Thus I can just weight the residuals that are returned in my function definition.

Sign in to comment.

More Answers (1)

Sander van Otterdijk
Sander van Otterdijk on 18 Apr 2019
hoi
dit is een code
do
if code = dit
do: zijn.
end

Categories

Find more on Systems of Nonlinear Equations in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!