% Ident_eta Nonlinear Optimitation of One Degree Identification Systems.
% The damping modelo used in Ident-eta is equivalent histeretic model 
%
% 
global Plothandle C1 H freq
%
% FRF do sistema primário (inertância) obtida experimentalmente ________
%
% %Medição ??/??/?? portaferramenta
% load a605_func.txt
% resp=a605_func;

%Medição 18/11/11 porta ferramenta
%load a605.txt 
%resp=a605;
% 
% %Medição 18/11/11 porta ferramenta - contrário
 load a605cont.txt 
 resp=a605cont;
%
for ii=1:length(resp)
freq(ii)=resp(ii,1);        % Frequencia em Hz
R(ii)=resp(ii,2);           % Parte real da inertância
Im(ii)=resp(ii,3);          % Parte imaginária da inertância
H(ii)=R(ii)+1i*(Im(ii));    % Inertância
end
%
%
plot(freq,20*log10(abs(H)),'r-','EraseMode','none')
title('Input data')
%________________________________________________________________________
pause	% Strike any key to continue.
%
hold on
% global Plothandle
Plothandle = plot(freq,20*log10(abs(H)),'b-','EraseMode','xor');
%
% Restrições inferior (lower) e superiores (upper) ______________________
%
meq_l=0;                    % Limite inferior das restrições de massa
meq_u=1;                   % Limite superior das restrições de massa
%
keq_l=1e4;                  % Limite inferior das restrições de rigidez
keq_u=1e10;                  % Limite superior das restrições de rigidez
%
etaeq_l=0;                  % Limite inferior das restrições do fator de perda
etaeq_u=10;                 % Limite superior das restrições do fator de perda
%
LB=[meq_l keq_l etaeq_l];   % Limite inferior das variáveis de projeto
UB=[meq_u keq_u etaeq_u];   % Limite superior das variáveis de projeto
% _______________________________________________________________________
%
% Parametros da função matlab fmincon (otimização com restrições)_________
A=[];
B=[];
Aeq=[];
Beq=[];
NONLCON=[];
% _______________________________________________________________________
pause
%
% Vetor de projeto inicial e parâmetros da função de otimização _________
lam = [0.7 1e7 0.02]';        % vetor de projeto inicial
trace = 0;                  % parâmetros da função de otimização
tol = .00001;               % um dos critérios de parada da tecnica
% _______________________________________________________________________
%
% Função matlab de otimização com restrições ____________________________
%
lambda = fmincon('fobj_eta',lam,A,B,Aeq,Beq,LB,UB);  %,NONLCON,[trace tol]
%
% _______________________________________________________________________
%
% Parâmetros equivalentes encontrados após a otimização _________________
meq=lambda(1)
keq=lambda(2)
etaeq=lambda(3)
% _______________________________________________________________________