Undefined function 'Fun" for input argument of type 'double'?
Mostrar comentarios más antiguos
function z=fun(U)
z='FPAeld1';
end
i need to call the first script from this algorithm but i'm getting error "undefined function 'Fun'.." why?
Respuesta aceptada
Más respuestas (1)
Walter Roberson
el 9 de Sept. de 2015
At the bottom you have
function z=fun(U)
z='FPAeld1';
end
Change that to
function z = Fun(U)
z = FPAeld1(U);
end
8 comentarios
Walter Roberson
el 9 de Sept. de 2015
function z = Fun(U)
global objfun
z = feval(objfun, U);
end
Better yet, do not use global variables. For example in your second script, do not have global objfun and instead have
objfun = @FPAeld1
and then change your
function [best,fmin,N_iter]=fpa_demo(para)
to
function [best,fmin,N_iter]=fpa_demo(para, Fun)
and do not have that "function Fun" at the end of the code.
JL555
el 9 de Sept. de 2015
JL555
el 9 de Sept. de 2015
Walter Roberson
el 9 de Sept. de 2015
I have not tried to run the code. You have not shown what should be passed to fpa_demo() . Your script does not call fpa_demo()
Yes, the lines
function z = Fun(U)
global objfun
z = feval(objfun, U);
end
would replace what you had as
function z=fun(U)
z='FPAeld1';
end
JL555
el 9 de Sept. de 2015
JL555
el 9 de Sept. de 2015
Steven Lord
el 9 de Sept. de 2015
Categorías
Más información sobre Entering Commands 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!