clc
clear all
close all
a=0;
b=5;
d=0.01;
x=a:d:b;
i = 0;
%f=inline('(1/3)*x.^2-(13/7)*x+11');
f=inline('(1/3)*(x-3).^3+(x-4).^2');
x1=b-0.618*(b-a);
x2=a+0.618*(b-a);
while abs(b-a) > d
if f((x1+x2)/2)<=f(x1) && f((x1+x2)/2)<=f(x2)
b = x2;
a = x1;
x1=b-0.618*(b-a);
x2=a+0.618*(b-a);
elseif f(x1) < f(x2)
b=x2;
x2=x1;
x1=b-0.618*(b-a);
else
a=x1;
x1=x2;
x2=a+0.618*(b-a);
end
i = i + 1;
end
plot(x,f(x));
hold on
xm=(a+b)/2
plot(xm, f(xm),'r*');
fminsearch(f,3)
iteracje = i
Wyszukiwarka