%função objetivo para um sistem com neutralizador com amortecimento viscoso
function maxh=fobj_2(lambda)

%declarar variáveis globais que serão utilizadas nas subrotinas contendo as
%funções objetivo.
global Plothandle m1 k1 c1 ksi1 m2 ome1 ome2 C11 omega iomegmax meq ceq

%Variável 1 para efetuar minimização.
omegan2=lambda(1);
%Variável 2 para efetuar minimização.
ksi2=lambda(2);
%Amortecimento viscoso a partir da estimativa e otimização.
c2=2*ksi2*m2*omegan2;
%Rigidez a partir da estimativa e otimização
k2=omegan2^2*m2;

%Laço em omega para cálculo da meq, ceq e consequentemente a FRF que se
%deseja minimizar.
for iomeg=1:length(omega)
    %Relação entre a frequência/frequência natural do neutralizador
    E2 = omega(iomeg)/omegan2;
    %Massa equivalente pelo modelo de sistema equivalente ver página 18 do
    %caderno.
    Meq(iomeg) = m2*(-(E2^2)+1+((2*ksi2*E2)^2))/(((E2-1)^2)+((2*ksi2*E2)^2));
    %Amortecimento equivalente pelo modelo de sistema equivalente ver
    %página 18 do caderno.
    Ceq(iomeg) = (m2*omegan2*2*ksi2*(E2^4))/(((E2-1)^2)+((2*ksi2*E2)^2));
    %FRF (Receptancia)
    H11(iomeg) = 1./((-(omega(iomeg))^2)*(m1 + Meq(iomeg)) + i*omega(iomeg)*(c1 + Ceq(iomeg)) + k1);
end

%Atribui a variável Plothandle nova FRF otimizada para plotagem.
set(Plothandle,'ydata',abs(H11)) 

%Força a plotagem
drawnow

%Encontra a máxima amplitude absoluta e a frequência na qual esta ocorre 
%para a FRF em questão.
[maxh,iomegmax]=max(abs(H11));

%LOGO ESTAMOS MINIMIZANDO O MÁXIMO VALOR ABSOLUTO DE AMPLITUDE DA FRF
%CONSIDERADA.