Why is there an error? Undefined function 'f' for input arguments of type 'double'.
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Ehi Eromosele
am 5 Mär. 2014
Kommentiert: Image Analyst
am 5 Mär. 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 Kommentar
Image Analyst
am 5 Mär. 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!
Akzeptierte Antwort
Image Analyst
am 5 Mär. 2014
Well, you did not define f, just like it said. What do you think f should be? You have to tell it!
2 Kommentare
Image Analyst
am 5 Mär. 2014
Look up "anonymous functions" then try it and see. That's the best way to learn.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!