Apply boundary condition (upper and lower limit) to parameters during the fitting using the function nlinfit?
7 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(2 个)
Parag
2025-5-14
编辑:Parag
2025-5-14
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 个评论
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!