Apply boundary condition (upper and lower limit) to parameters during the fitting using the function nlinfit?
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Does anyone knows how to apply boundary condition to the parameters during the fitting using the function nlinfit?
I know that this could be done using the function fit, but i need to use the function nlinfit. (in that regards see the post in the link attached)
Thank you very much in advance for the help.
0 comentarios
Respuestas (2)
Parag
el 14 de Mayo de 2025
Editada: Parag
el 14 de Mayo de 2025
The ‘nlinfit’ in MATLAB does not support parameter bounds directly . However, if you are required to use ‘nlinfit’, you can use this workaround to enforce parameter bounds:
Transform the parameters so that they always stay within bounds, even though ‘nlinfit’ optimizes over unbounded parameters.
Example: Suppose you want to constrain F(1) between 0 and 1. You can optimize over a new parameter theta, and define:
F(1) = 1 ./ (1 + exp(-theta)); % logistic transformation: bounded between 0 and 1 as exponent cannot be negative
so denominator will always be greater than 1 and in limiting case theta approaching to negative infinity this expression will approach to zero.
Hope it helps!
0 comentarios
Torsten
el 14 de Mayo de 2025
Editada: Torsten
el 14 de Mayo de 2025
If you restrict parameters by imposing upper and/or lower bounds, a statistical analysis of the results like that offered by "nlinfit" is no longer possible. That's why you cannot set upper and lower bounds when you use this tool.
0 comentarios
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!