Documente Academic
Documente Profesional
Documente Cultură
%--------------------------------------------------------------------------
clc
clear all
diary on
fprintf('\n\t\t\t | PROGRAMA DE INGENIER?A CIVIL UDEA |');
fprintf('\n\t\t\t | ECUACION DE LOS TRES MOMENTOS |');
% ------------------------- INGRESO DE DATOS ------------------------------
fprintf('\n\t\t\t |****************************************************|');
fprintf('\n\t\t\t |****************************************************|');
fprintf('\n\t\t\t |NOTA: |');
fprintf('\n\t\t\t |1- POR CADA EMPOTRAMIENTO QUE TENGA EN LOS EXTREMOS |');
fprintf('\n\t\t\t | SE LE AGREGA UN ELEMENTO Y UN NUDO |');
fprintf('\n\t\t\t |2- LOS VOLADIZOS NO SE CUENTAN COMO ELEMENTOS |');
for i=1:NE
fprintf('\n\n ELEMENTO %d: ',i);
L(i)=input('\n\n INGRESE LA LONGITUD DEL ELEMENTO [m]: ');
I(i)=input('\n INGRESE LA INERCIA DEL ELEMENTO [m^4]: ');
end
L
I
% ------------- MATRIZ DE COEFICIENTES DEL SISTEMA-INICIAL ----------------
A=zeros(NE-1,ND);
for i=1:NE-1
A(i,i)=L(i)/I(i);
A(i,i+1)=2*((L(i)/I(i))+(L(i+1)/I(i+1)));
A(i,i+2)=L(i+1)/I(i+1);
end
A
B=zeros(NE-1,1);
B(1,1)=M(1)*L(1);
B(NE-1,1)=M(ND)*L(NE);
B;
for i=1:NE-1
fprintf('\n\n ECUACION %d: ',i);
fprintf('\n\n ELEMENTO %d: ',i);
C=input('\n\n EL ELEMENTO TIENE CARGAS, CUANTAS: ');
for j=1:C
fprintf('\n\t\t\t |CARGA UNIFORMEMENTE DISTRIBUIDA=1, CARGA UNIFORMEMENTE |');
fprintf('\n\t\t\t |DISTRIBUIDA PARCIAL=2, CARGA PUTUAL EN EL CENTRO=3 |');
fprintf('\n\t\t\t |CARGA PUNTUAL EN CUALQUIER PUNTO=4, OTRA CARGA=5 |');
fprintf('\n\t\t\t |SI NO TIENE CARGA=0|');
fprintf('\n\n\n CARGA %d: ',j);
TC=input('\n\n\n INGRESE EL TIPO DE CARGA: ');
if TC==1
w=input('INGRESE LA CARGA EN [T/m]: ');
B(i,1)=B(i,1)-6*(w*(L(i)^3)/(24*I(i)));
elseif TC==2
w=input('INGRESE LA CARGA EN [T/m]: ');
s=input('\n INRECE LA DISTANCIA AL NUDO IZQUIERDO [m]: ');
B(i,1)=B(i,1)-6*((w*(s^2)*((2*L(i)-s)^2)/(24*L(i)*I(i))));
elseif TC==3
P=input('INGRESE LA CARGA EN [T]: ');
B(i,1)=B(i,1)-6*(P*(L(i)^2)/(16*I(i)));
elseif TC==4
P=input('INGRESE LA CARGA EN [T]: ');
s=input('\n INRECE LA DISTANCIA AL NUDO IZQUIERDO [m]: ');
B(i,1)=B(i,1)-6*(P*s*(L(i)-s)*((L(i)-s)+L(i))/(6*L(i)*I(i)));
elseif TC==5
A1=input('INGRESE LA ROTACION DEL APOYO INICIAL: ');
A2=input('\n INGRESE LA ROTACION DEL APOYO FINAL: ');
B(i,1)=B(i,1)-6*(A1/I(i))-6*(A2/I(i));
end
end
AS=zeros(NE-1,ND-2);
for i=1:ND-2
AS(:,i)=A(:,i+1);
end
AS
M1=inv(AS)*B;
for i=1:ND-2
M(i+1)=M1(i);
end
M