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

2 visualizaciones (últimos 30 días)
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

Respuesta aceptada

Torsten
Torsten el 15 de Sept. de 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 comentarios
Warren Boschen
Warren Boschen el 16 de Sept. de 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 el 16 de Sept. de 2022
Editada: Torsten el 16 de Sept. de 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.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Programming en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by