How to use the Fminsearch in in MATLAB 6.5?
2 views (last 30 days)
Show older comments
hi,dear all
I have use the Fminsearch successfully in matlab R2008b as follows:
[x,yy]=fminsearch(@(x) noncon_obj(x,z1,norm_A,norm_B,exva_A,exva_B),x0);
where,noncon_obj is the target function ,'x' is the variable,and 'z1,norm_A,norm_B,exva_A,exva_B' are the parameters .
function CC=noncon_obj(x,z1,norm_A,norm_B,exva_A,exva_B)
YY=norminv(exp(-exp((x(2)-exva_A+0.45*exva_B)/(-0.7797*exva_B))));
CC=sqrt(((log(x(1))-z1(1))/z1(2))^2+((x(1)-x(2)-norm_A)/norm_B)^2+YY^2);
But, the above code fail to work in matlab 6.5,and give Error: "identifier" expected, "(" found.
Then,how to use the Fminsearch in in MATLAB 6.5 for the function "noncon_obj"
0 Comments
Accepted Answer
Jiro Doke
on 26 Feb 2011
You are using anonymous functions, which were introduced in MATLAB 7, so it won't work in MATLAB 6.5. According to the documentation for fminsearch (for MATLAB 6.5), call it by putting the additional parameters as trailing arguments:
[x,yy]=fminsearch(@noncon_obj,x0,[],z1,norm_A,norm_B,exva_A,exva_B);
Notice the [] to represent empty "options" structure.
More Answers (0)
See Also
Categories
Find more on Performance and Memory 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!