clear all; close all; %%% % Funzione obiettivo %%% f = @(x) x.^2+x+1+15*sin(2*x); %%%%%%%%%% %% Ottimizzazione %%%%%%%%%% % Condizione iniziale x0=-15+30*rand(1); % Imposta opzioni ottimizzazione options=optimset('LargeScale','Off','Display','Iter'); % Ottimizza con due diversi algoritmi [X1,FVAL1,EXITFLAG,OUTPUT]=fminsearch(f,x0,options); [X2,FVAL2,EXITFLAG2,OUTPUT2]=fminunc(f,x0,options); %%% % Grafico funzione obiettivo %%% figure(1); hold on; x = linspace(-15,15,300); plot(x,f(x)) plot(X1,FVAL1,'.r','MarkerSize',20) plot(X2,FVAL2,'^k','MarkerSize',11) plot(x0,f(x0),'xr','MarkerSize',10) legend('f(x)','fminsearch','fminunc','x_0',3)