When optimizing parameters, how to increase or decrease the parameters participating in optimization without modifying the code
Show older comments
L is parametaer needing to be optimized. We do not care about other parameters. The actual fun is complex,but I simplified it to following fun.
fun=@(x1,x2,t,L) x1 .* x2 .* (L(1)+L(2)*t);
[L,resnorm] = lsqnonlin(@(L)fun(x1,x2,t,L)-y, [0 0])
If the optimization result is not good, I need to add an L(3),L(4):
fun = x1 .* x2 .* (L(1)+L(2)*t+L(3)*t^2)
fun = x1 .* x2 .* (L(1)+L(2)*t+L(3)*t^2+L(4)*t^3)
And so on.
So I want to know how I can write code so that I can modify the optimized parameters without modifying the code of this fun. I know that many items of L may need to be written in advance in code, and then the optimized parameters can be selected. How to achieve it, I hope you can give me a solution or idea, I will be very grateful to everyone.
Answers (0)
Categories
Find more on Choose a Solver in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!