% programa de otimização método do gradiente % máximo decrescimo (steepest-descent-method) % steepest.m % Prof. Reyolando Brasil 04/2023 % clear clc %variáveis % x=variáveis de projeto % d=vetor direção % g=vetor gradiente delta=5e-2; % passo inicial da busca unidimensional epslon=5e-5; % precisão da busca unidimensional eps=5e-4; % critério de parada para o método noc=100; % número máximo de ciclos do método % % valores iniciais das variaveis de projeto % x=[2;4;10]; g=grad(x); % g = vetor gradiente inicial for k=1:noc d=-g;% d = vetor direção [f,alfa]=goldm(x,d,delta,epslon); x=x+alfa*d; g=grad(x); if norm(g) <= eps disp('ponto de ótimo') disp(x) f=obj(x); disp('valor ótimo da função objetivo') disp(f) disp('número de iterações') disp(k) break end if k>= noc disp('número de ciclos excedido') end end