How to fit a function with two or more dependant variables (outputs)?

8 vues (au cours des 30 derniers jours)
Ryan Bisbey
Ryan Bisbey le 2 Juin 2022
I have a complex matlab function that takes x -> (y1,y2) based on several passed parameters. I would like to use curve fitting to find the optimal parameters that fit the function to data. Are there any such tools in MATLAB to accomplish this? nlinfit and the others seem to only want to work with a single independant variable column vector and a single dependant variable column vector (i.e. x -> y).
  3 commentaires
Ryan Bisbey
Ryan Bisbey le 2 Juin 2022
Thanks for the prompt response @Torsten. With nlinfit when the dependant input is an array not a vector you get the error:
Requires a vector second input argument.
Which results from:
elseif ~isvector(y)
error(message('stats:nlinfit:NonVectorY'));
end
in the nlinfit code. Were you suggesting I use another curve fitting function than nlinfit?
Torsten
Torsten le 2 Juin 2022
Modifié(e) : Torsten le 2 Juin 2022
What is the difference between an array and a vector ?
If you enter X and Y as independent and dependent vectors, all should work out fine.

Connectez-vous pour commenter.

Réponse acceptée

Matt J
Matt J le 2 Juin 2022
lsqcurvefit does not care about the dimensionality of the independent or dependant variables.
  3 commentaires
Ryan Bisbey
Ryan Bisbey le 2 Juin 2022
Modifié(e) : Ryan Bisbey le 2 Juin 2022
@Star Strider, your message was helpful too to confirm that the dimensionality of nlinfit output must be a vector not a matrix. (I think the message is deleted now.) Thanks!
Star Strider
Star Strider le 2 Juin 2022
My pleasure.
I almost always delete my un-accepted answers.

Connectez-vous pour commenter.

Plus de réponses (1)

M Mirrashid
M Mirrashid le 5 Juin 2022

Catégories

En savoir plus sur Surrogate Optimization dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by