%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Programa de analisis modal de edificios %
%Calcula auto valores y auto vectores    %
%Para la vibracion libre de la estructura%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%funcion que calcula los valores maximos combinados
%metodo CQC


function[VVV,FFF]=cqc(npis,F,OM,omega,V)

clc
for i=1:npis
    w(i)=sqrt(OM(i));
end

omega=omega/100;
for i=1:npis
    sumtot=0;
    for j=1:npis
        sum=0;
        for k=1:npis
            r=w(k)/w(j);
            ro=(8*omega*omega*(1+r)*r^(3/2))/((1-r^2)^2+4*omega*omega*r*(r+1)^2);
            pro=V(i,j)*ro*V(i,k);
            sum=sum+pro;
        end
        sumtot=sumtot+sum;
    end
    VVV(i)=sqrt(sumtot);
end

%-----------------------------------------------------
%calculo de las fuerzas estaticas equivalentes de piso

FFF(npis)=VVV(npis);
for i=npis-1:-1:1
    FFF(i)=VVV(i)-VVV(i+1);
end

sprintf('Fuerzas de piso, metodo CQC, en Newtons')
FFF'
pause
%-----------------------------------------------------
%calculo de las fuerzas estaticas equivalentes de piso con torsion estatica
%equivalente

FFFTE=1.3*FFF';
sprintf('Fuerzas de piso, metodo CQC, con torsion estatica equivalente, en Newtons')
FFFTE
pause