need help with optimtool

while using fmincon solver in optimtool.......i got problem...in the window i got a message as
Optimization running.
Undefined function or method 'obj.m' for input arguments of type 'double'.
please suggest me what to do?

 采纳的回答

Sargondjani
Sargondjani 2012-6-8

0 个投票

although this does not matter much, you should add an 'end'
how do you call obj.m with fmincon? and where did you store obj.m??? if you call obj(x0) in the line before your fmincon, does it work then?

6 个评论

sir....i just forget to copy end,this time i am using optimtool window to optimize....in the objective function slot i have given called the function by typing"@obj.m"....i stored the file in the same place where other programs were there......i didn't get your lost question sir,sorry
about the last question: i m sorry, i forgot you used optimtool. i never used that.
however, i searched a bit and the error you get seems to occur only when the function is not defined, ie. when it is stored in another directory for example (or maybe if there are multiple files with the same name)
dear sir,i checked the whole folder there is no other file named as obj....are there any other things which i need to check that makes my function undefined...please do inform me ..
im pretty sure it has to do something with matlab not being able to call the function... it's hard to say for outsiders why exactly this happens. did you try using a program to call fmincon?? you could do this, just to test if obj.m works... then you could write "obj(x0)" in the line before you call fmincon to see if it works
Do not use @obj.m -- use @obj
thanku sir it worked...thanku so much

请先登录,再进行评论。

更多回答(1 个)

Sargondjani
Sargondjani 2012-6-8

0 个投票

apparently you somewhere call a function "obj.m" with an 'double' input and this is not allowed
we can't help much more if you dont post the line where the error occurred and maybe a summary of the code inside obj.m

2 个评论

sir this is the obj.m program
function f = obj(x)
pm=pi/3;
w=0.008;
wt=10;
ws=0.001;
ka=2;
ku=4;
ta=420;
tu=460;
Lu=60;
La=40;
s=(-(x(2)*(w^(-x(4)))*sin((pi/2)*x(4)))+(x(3)*(w^(x(5)))*sin((pi/2)*x(5))));
r=x(1)+((x(2)*(w^(-x(4)))*cos((pi/2)*x(4)))+(x(3)*(w^(x(5)))*cos((pi/2)*x(5))));
f = 20*log10((ku/sqrt((ta*w)^2+1))*sqrt(r^2+s^2));
sir please do tell me if i have made a mistake.....
the above mentioned is my program....

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Problem-Based Optimization Setup 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by