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



%Modulo de entrada de datos de la estructura
clc
%Geometria general del portico
npis=input('intorduzca el numero de pisos')
ncol=input('introduzca el numero de columnas')
EY=input('introduzca el modulo elastico, en MPa')
%--------------------------------------------------------------------------
%Caracteristicas de los pisos
%Dimensiones en cm y kg
hpis=zeros(npis,1);
mpis=zeros(npis,npis);
for i=1:npis;
    sprintf('Introduzca las caracteristica del piso %d',i)
    hpis(i)=input('altura, en cm');
    mpis(i)=input('masa, en kg');
end
%Dimensiones de las columnas
dcol=zeros(npis,2);
for i=1:npis;
    sprintf('Introduzca las dimensiones de las columnas del piso %d',i)
    dcol(i,1)=input('dimension transversal, en cm');
    dcol(i,2)=input('dimension longitudinal,en cm');
end
for i=1:npis;
    k(i)=((dcol(i,1)/100)*(dcol(i,2)/100)^3)/12;
end
hpis=hpis/100;
%--------------------------------------------------------------------------

%--------------------------------------------------------------------------
%Modulo de calculo de la rigidez 
%Ensamblaje de las matrices de rigidez y de masa
[KT,K,M]=rigidez(npis,ncol,EY,hpis,mpis,dcol,k);
%--------------------------------------------------------------------------

%--------------------------------------------------------------------------
%Generacion de archivo de datos
fid = fopen('datos.dat','w');
fprintf(fid,'%f \n',npis);

fprintf(fid,'%f %f %f %f %f %f %f %f %f %f \n',K');

fprintf(fid,'%f %f %f %f %f %f %f %f %f %f \n',M');

fprintf(fid,'%f \n',hpis');

status = fclose(fid);