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


%funcion normal
%Normalizacion de la matriz modal
%Y Calculo de la fraccion de la masa participativa

function[beta]=normal(npis,M,FI)

%se inicializan los vectores y variables de almacenamiento
beta=zeros(npis,1);

%Determinacion de la fraccion de la masa participativa
sum4=0;
for i=1:npis
    masa=M(i,i);
    sum4=sum4+masa;
end
for i=1:npis
    sum5=0;
    sum6=0;
    pro1=0;
    pro2=0;
    for j=1:npis
        pro1=M(j,j)*FI(j,i);
        pro2=pro1*FI(j,i);
        sum5=sum5+(pro1);
        sum6=sum6+pro2;
    end
    beta(i)=(sum5*sum5)/(sum6*sum4);
end   
sprintf('fracccion de la masa participativa')
beta