Documente Academic
Documente Profesional
Documente Cultură
% punctele de maxim
hold on;% hold off- cand desenam un elem nou, il sterge oe cel de dinainte;
hold on pastreaza ce era anterior
n=length(X);
for i=1:n
plot(X(i),Y(i),'dr');% dr- dimond red; b-blue; black-k
end;
% maximul global
plot(xmax,ymax,'sk');% sk-patratel negru
end
v2
vec=[];
valv=[];
for i=-nr:nr% il va lua si pe 0
for j=-nr:nr
v_p=[x(1)+i*pas x(2)+j*pas];
if (v_p(1)>=intx(1)) && (v_p(1)<=intx(2)) && (v_p(2)>=inty(1)) &&
(v_p(2)<=inty(2))
val=f_obiectiv(v_p);
vec=[vec v_p'];% vector transpus; evit transpunerea si adaug
v_p=[x(1)+i*pas; x(2)+j*pas] mai sus
valv=[valv val];
end;
end;
end;
v=[vec; valv];
end
hc2
function [ x, fx ] = hillclimbing( intx, inty, nrp, nrv, pas)
% implementarea algoritmului hillclimbing pentru gasirea maximului
% unei functii de doua variabile
% I: intx, inty - intervalelor pe care e definita functia
% nrp - numarul de puncte initiale folosite de algoritm
% nrv - numarul de vecini pe fiecare directie
% pas - distanta intre doi vecini consecutivi
% E: x - punctul de maxim, fx - valoare maxima a functiei (corespunde lui x)
% EXEMPLE de apel
% hillclimbing([-2 -2],[-2 2],50,5,0.1);
% punctele de maxim
hold on;
% n=length(X);
% for i=1:n ; toata sectiunea deseneaza fiecare punct in parte
% plot3(X(i),Y(i),Z(i),'oy'); oy este cerculet galben
% end;
scatter3(X,Y,Z,'red');% automat construieste cerculete
% maximul global
plot3(xmax,ymax,zmax,'*b','MarkerSize',10);% putem adauga si alti parametri
end