fminsearch with if statement
2 次查看(过去 30 天)
显示 更早的评论
Hello all,
I need to optimise two parameters by minimising by objective function.
I've got an equation that has got two parts.
The parameters that I want to optimise are p0 and b0.
I already got the vectors obs and p.
The equation is:
If p < p0, then sim = p +b0*p0
if p>= p0, then sim = 5
Then I need to put my simulated values into my objective function, that looks like:
OF = (sim - obs)^2
So, now I want to minimise OF using fminsearch.
How can I do that, if the parameter that I am looking for is inside the constraint?
Thanks
0 个评论
采纳的回答
Matt J
2013-7-26
[xmin, fmin] = fminsearch(@(x) OF(x,obs,p), xguess);
function val=OF(x,obs,p)
p0=x(1);
b0=x(2);
sim= (p +b0*p0).*(p<p0)+5.*(p>p0);
val=(sim - obs).^2;
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!