How do I add "internal" upper and lower bounds to the function lsqcurvefit?

2 visualizzazioni (ultimi 30 giorni)
Hello everyone,
I'm having trouble understanding the documentation for the function lsqcurvefit, and in particular the sections discussing the upper and lower bounds of the minimization. I have the sample data E' and an equation for the simulated data E, and the minimization would look as such:
Notably, . How would I use lb and ub to specify that this condition must hold, in addition to setting lb = 0 and ub = for the whole minimization? Would this function even work in my case because I have more than one parameter which needs to be fit?
Thank you,
Warren

Risposta accettata

Torsten
Torsten il 15 Set 2022
The condition lambda_1 <= lambda_2 has to be set in A,b of the mimimizer "fmincon".
"lsqcurvefit" is not suited in this case.
  2 Commenti
Warren Boschen
Warren Boschen il 16 Set 2022
It seems as though fmincon requires that only one parameter be minimized, whereas I would like to have both lambda_1 and lambda_2 be minimized simultaneously under the condition that lambda_1 <= lambda_2. How would I account for that using fmincon?
Torsten
Torsten il 16 Set 2022
Modificato: Torsten il 16 Set 2022
No, "fmincon" can handle as many parameters as you like.
But in contrast to "lsqcurvefit", you have to supply sum(res.^2) (a scalar) instead of res (a vector) in your objective function.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Programming in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by