% Ident_ksi Nonlinear Optimitation of One Degree Identification Systems.
% The damping modelo used in Ident-ksi is equivalent viscous damped model 
%
% 
global Plothandle H freq
%
% FRF do sistema primário (inertância) obtida experimentalmente ________
%
% %Medição 18/11/11 porta ferramenta com acelerometro perto da base, não
% apta para ajuste de modelo equivalente de um grai de liberdade.
% load a605.txt 
% resp=a605;

% %Medição 18/11/11 porta ferramenta, acelerometro e martelo na ponta do
% mesmo.
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-','LineWidth',2,'EraseMode','none')
title('Ajuste da curva experimental')
%________________________________________________________________________
pause	% Strike any key to continue.
%
hold on
% global Plothandle
Plothandle = plot(freq,20*log10(abs(H)),'b-','LineWidth',2,'EraseMode','xor');
legend('Experimental','Ajustada');
%
% Restrições inferior (lower) e superiores (upper) ______________________
%
%
meq_l=0.1;                    % Limite inferior das restrições de massa
meq_u=2;                   % Limite superior das restrições de massa
%
keq_l=1e5;                  % Limite inferior das restrições de rigidez
keq_u=1e9;                  % Limite superior das restrições de rigidez
%
ksieq_l=0;                  % Limite inferior das restrições de ksi=c/cc
ksieq_u=2;                  % Limite superior das restrições de ksi=c/cc
%
LB=[meq_l keq_l ksieq_l];   % Limite inferior das variáveis de projeto
UB=[meq_u keq_u ksieq_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.01];        % vetor de projeto inicial
trace = 0;                  % parâmetros da função de otimização
tol = .001;               % um dos critérios de parada da tecnica
options=optimset('TolX',0.00001,'TolFun',.00001);
% _______________________________________________________________________
%
% Função matlab de otimização com restrições ____________________________
%
lambda = fmincon('FOBJ_ksi',lam,A,B,Aeq,Beq,LB,UB); %,NONLCON,[trace tol]   ,NONLCON,options   ,NONLCON,options
%lambda = fminsearch('FOBJ_ksi',lam,[trace tol])
%
% _______________________________________________________________________
%
% Parâmetros equivalentes encontrados após a otimização _________________
meq=lambda(1)
keq=lambda(2)
ksieq=lambda(3)
% _______________________________________________________________________