Why is there an error? Undefined function 'f' for input arguments of type 'double'.
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Ehi Eromosele
el 5 de Mzo. de 2014
Comentada: Image Analyst
el 5 de Mzo. de 2014
Error using arrayfun
Undefined function 'f' for input arguments of type 'double'.
Error in golden (line 3)
plot(t,arrayfun(@f,t));
function golden(a, b)
t=[a:0.01:b];
plot(t,arrayfun(@f,t));
hold on
tol=10^(-12);
r=(3-sqrt(5))/2;
c=a+r*(b-a);
d=b-r*(b-a);
fa=f(a);
fb=f(b);
fc=f(c);
fd=f(d);
while (b-a>tol)
if (fc<fd)
b=d;
fb=fd;
d=c;
fd=fc;
c=a+r*(b-a);
fc=f(c);
plot(c,fc,'r*');
else
a=c;
fa=fc;
c=d;
fc=fd;
d=b-r*(b-a);
fd=f(d);
plot(d,fd,'r*');
end
end
fprintf('Minimum found at x=%.12f \n', (a+b)/2, f(a+b)/2);
hold off
end
1 comentario
Image Analyst
el 5 de Mzo. de 2014
http://www.mathworks.com/matlabcentral/answers/13205-tutorial-how-to-format-your-question-with-markup Don't double space. Just highlight then click {}Code. Don't click {}Code before highlighting either!
Respuesta aceptada
Image Analyst
el 5 de Mzo. de 2014
Well, you did not define f, just like it said. What do you think f should be? You have to tell it!
2 comentarios
Image Analyst
el 5 de Mzo. de 2014
Look up "anonymous functions" then try it and see. That's the best way to learn.
Más respuestas (0)
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!