Fitting a function to data (fminsearch) with limits
Mostrar comentarios más antiguos
Hey!
I try to fit a model to measured data. I already got a real close with the fminsearch option. However, I know the model will never fit completly to the measured data. I know the range wherein the unknown factors should be, how can I include this in the function.
This is a part of my code;
p= [0.31;114;3.5];
y2=fitfunc(TempZone1day,TempZone2day,TempZone3day,TempZone4day,TempZone5day,buitenTempday,FlowZone1day,FlowZone2day,FlowZone3day,FlowZone4day,KNMIwindday,SMA,p);
figure(1)
plot(tijd,WarmteCvday,'+',tijd,y2,'-')
a0=p;
aBest = fminsearch(@(a) SumErrfun1(a,TempZone1day,TempZone2day,TempZone3day,TempZone4day,TempZone5day,buitenTempday,FlowZone1day,FlowZone2day,FlowZone3day,FlowZone4day,KNMIwindday,SMA,WarmteCvday,tijd),a0);
disp(aBest)
For example, I know that p(1) should be within 0.1-0.5, p(2) within 100-200 and p(3) within 2-6. Because now aBest (the best combination) is [-0.0328; 61.8202; 0.4375], which is not even a possible option. How can I include these ranges?
Respuesta aceptada
Más respuestas (3)
Jie Jian
el 9 de En. de 2020
0 votos
Or you can use the function 'mapping_parameters.m' to transfer unbounded parameters to bounded ones
kursat cihan
el 30 de Ag. de 2020
0 votos
John D'Errico....much love from Germany, helped me a lot!!!
Bachelor Thesis in Material Modelling, used it for a parameter optimization in bringing simulations together with experimental data...PEACE
1 comentario
Delme
el 18 de En. de 2021
Haha, i'm doing exactly the same in my thesis!
Stefan Schuberth
el 8 de Nov. de 2022
0 votos
you can use q=f1*atan(p)+f2 to construct a limited parameter q from an unlimited parameter p :)
Categorías
Más información sobre MATLAB en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!