Ejercicios Matlab

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 6

METODO DE RIGIDEZ

UNIDAD III
METODO DE LA MATRIZ DE RIGIDEZ
RESOLVER LA VIGA

MEDIANTE EL METODO DE LA RIGIDEZ USANDO MATLAB


DATOS DE INGRESO:
I1=1
I2=1
LL1=3
LL2=5
W=20
P=40

CODIGO:
%% METODO DE MATRIZ DE RIGIDEZ
% ANALISIS ESTRUCTURAL II - UNIVERSIDAD CONTINENTAL
clc;
clear;
%NN=input('Ingrese el numero de tramos \n');
I1=input('Ingrese el EI del miembro AB (KNxM^2)\n');
I2=input('Ingrese el EI del miembro BC (KNxM^2)\n');
LL1=input('Ingrese la longitud del elemento AB (m)\n');
LL2=input('Ingrese la longitud del elemento BC (m)\n');
W=input('Ingrese la carga distribuida AB (kN/m)\n');
P=input('Ingrese la carga puntual BC (kN)\n');
n = 2;% Numero de elementos
I=[I1 I2];% MOMENTO DE INERCIA EN M4
L=[LL1 LL2];% LONGITUD EN M
% GRADOS DE LIBERTAD GENERAL
uu=2; % NUMERO DE GRADOS DE LIBERTAD LIBERADOS
ur=4; % NUMERO DE GRADOS DE LIBERTAD RESTRINGIDOS
uul=[1 2]; % NUMERACION DE GRADOS DE LIBERTAD LIBERADOS
url=[3 4 5 6]; % NUMERACION DE GRADOS DE LIBERTAD RESTRINGIDO
% GRADOS DE LIBERTAD POR ELEMENTO
l1=[3 1 4 5]; % GRADOS DE LIBERTAD GENERALES PARA MIEMBRO 1
l2=[1 2 5 6]; % GRADOS DE LIBERTAD GENERALES PARA MIEMBRO 2
l=[l1;l2];
dof=uu+ur;
Ktotal=zeros(dof);
MEP1=[W*LL1^2/12 -W*LL1^2/12 W*LL1/2 W*LL1/2]; % MEP MIEMBRO 1
MEP2=[P*LL2/8 -P*LL2/8 P/2 P/2]; % MEP MIEMBRO 2
% LAS REACCIONES EN LOS APOYOS

ANALISIS ESTRUCTURAL II
METODO DE RIGIDEZ

jl=[-(W*LL1^2/12-P*LL2/8);P*LL2/8;-W*LL1^2/12;-W*LL1/2;-W*LL1/2-P/2;-P/2]; %
REACCIONES EN kN o kN.m
jlu=[(W*LL1^2/12-P*LL2/8);P*LL2/8]; %VECTOR CARGAS EN GDL LIBERADOS
%% COEFICIENTES DE RIGIDEZ EN CADAD ELEMENTO
rc1 = 4.*I./L;
rc2 = 2.*I./L;
%% MATRIZ DE RGIDIEZ 4 X 4 (SIN DEFORMACION AXIAL)
for i = 1:n
Knew = zeros (dof);
k1 = [rc1(i); rc2(i); (rc1(i)+rc2(i))/L(i);
(-(rc1(i)+rc2(i))/L(i))];
k2 = [rc2(i); rc1(i); (rc1(i)+rc2(i))/L(i);
(-(rc1(i)+rc2(i))/L(i))];
k3 = [(rc1(i)+rc2(i))/L(i); (rc1(i)+rc2(i))/L(i);
(2*(rc1(i)+rc2(i))/(L(i)^2)); (-2*(rc1(i)+rc2(i))/(L(i)^2))];
k4 = -k3;
K = [k1 k2 k3 k4];
fprintf ('NUMERO DE MIEMBRO =');
disp (i);
fprintf ('MATRIZ DE RIGIDEZ POR ELEMENTO, [K] = \n');
disp (K);
for p = 1:4
for q = 1:4
Knew((l(i,p)),(l(i,q))) =K(p,q);
end
end
Ktotal = Ktotal + Knew;
if i == 1
Kg1=K;
else
Kg2 = K;
end
end

fprintf ('MATRIZ DE RIGIDEZ COMPLETA DE LA ESTRUCTURA,[Ktotal]=\n');


disp (Ktotal);
Kunr = zeros(uu);
for x=1:uu
for y=1:uu
Kunr(x,y)= Ktotal(x,y);
end
end
fprintf ('SUBMATRIZ DE RIGIDEZ LIBERADO,[Kuu]=\n');
disp (Kunr);
KuuInv= inv(Kunr);
fprintf('INVERSA DE SUBMATRIZ DE RIGIDEZ LIBERADO,[KuuInversa]=\n');
disp (KuuInv);
%% CALCULAR LOS DESPLAZAMIENTOS
delu = KuuInv*jlu;
fprintf ('VECTOR DE REACCION EN NUDOS, [Jl] = \n');
disp (jl');
fprintf ('DESPLAZAMIENTOS NO LIBERADOS, [DelU] = \n');
disp (delu');
delr = zeros (ur,1);
del = [delu; delr];
deli= zeros (4,1);
for i = 1:n
for p = 1:4
deli(p,1) = del((l(i,p)),1) ;

ANALISIS ESTRUCTURAL II
METODO DE RIGIDEZ

end
if i == 1
delbar1 = deli;
mbar1= (Kg1 * delbar1)+MEP1';
fprintf ('ELEMENTO AB');
disp (i);
fprintf ('MATRIZ DESPLAZAMIENTO GLOBAL [DeltaBar] =\n');
disp (delbar1');
fprintf ('MATRIZ DE MOMENTOS EN EXTREMOS [MBar] = \n');
disp (mbar1');
else
delbar2 = deli;
mbar2= (Kg2 * delbar2)+MEP2';
fprintf ('MIEMBRO BC');
disp (i);
fprintf ('DESPLAZAMIENTO GLOBAL ESTRUCTURA [DeltaBar] =\n');
disp (delbar2');
fprintf ('MATRIZ DE MOMENTOS GLOBALES [MBar] = \n');
disp (mbar2');
end
end

%% VERIFICACIONES
mbar = [mbar1'; mbar2'];
jf = zeros(dof,1);
for a=1:n
for b=1:4 % tamaño de la matriz
d = l(a,b);
jfnew = zeros(dof,1);
jfnew(d,1)=mbar(a,b);
jf=jf+jfnew;
end
end
fprintf ('FUERZAS EN ELEMENTOS = \n');
disp (jf');

ANALISIS ESTRUCTURAL II
METODO DE RIGIDEZ

RESOLVER EL PORTICO

MEDIANTE EL METODO DE LA RIGIDEZ USANDO MATLAB

CODIGO:
%% UNIDAD III - METODO DE MATRIZ DE RIGIDEZ
% ANALISIS ESTRUCTURAL II - UNIVERSIDAD CONTINENTAL
% INGRESO DE DATOS
clc;
clear;
n=3;% numero de elementos
I=[2 1 2]; %Momentos de inercia en m4
L=[6 4 6]; %Longitud en m
uu=2; %Numero de GDL con desplazamiento
ur=7; %Numero de GDL sin deplezamiento
uul=[1 2];% GDL con desplazamiento
url=[3 4 5 6 7 8 9];% GDL restringidos
l1=[1 3 9 4];% GDL totales para el elemento 1
l2=[1 2 5 8];% GDL totales para el elemento 2
l3=[2 6 9 7];% GDL totales para el elemento 3
l=[l1;l2;l3];
dof=uu+ur; %GDL TOTAL
Ktotal=zeros(dof);
fem1=[-36 36 -36 -36]; %MEP para el elemento 1
fem2=[25 -25 25 25]; %MEP para el elemento 2

ANALISIS ESTRUCTURAL II
METODO DE RIGIDEZ

fem3=[-31.111 -35.556 -23.333 -26.667]; %MEP para el elemento 3


%% COEFICIENTES DE ROTACION PARA CADA MIEMBRO
rc1 = 4.*I./L;
rc2 = 2.*I./L;
%% MATRIZ DE RIGIDEZ 4 X 4 (IGNORO AXIAL) POR ELEMENTO
for i = 1:n
Knew = zeros (dof);
k1 = [rc1(i); rc2(i); (rc1(i)+rc2(i))/L(i);
(-(rc1(i)+rc2(i))/L(i))];
k2 = [rc2(i); rc1(i); (rc1(i)+rc2(i))/L(i);
(-(rc1(i)+rc2(i))/L(i))];
k3 = [(rc1(i)+rc2(i))/L(i); (rc1(i)+rc2(i))/L(i);
(2*(rc1(i)+rc2(i))/(L(i)^2)); (-2*(rc1(i)+rc2(i))/(L(i)^2))];
k4 = -k3;
K = [k1 k2 k3 k4];
fprintf ('MIEMBRO :');
disp (i);
fprintf ('MATRIZ DE RIGIDEZ LOCAL POR MIEMBRO, [K] = \n');
disp (K);
for p = 1:4
for q = 1:4
Knew((l(i,p)),(l(i,q))) =K(p,q);
end
end
Ktotal = Ktotal + Knew;
if i == 1
Kg1=K;
elseif i == 2
Kg2 = K;
else
Kg3=K;
end
end
%% MATRIZ DE RIGIDIZ TOTAL
fprintf ('MATRIZ DE RIGIDEZ COMPLETA DE LA ESTRUCTURA, [Ktotal] = \n');
disp (Ktotal);
Kunr = zeros(uu);
for x=1:uu
for y=1:uu
Kunr(x,y)= Ktotal(x,y);
end
end
%% OBTENGO LOS DEPLAZAMIENTOS
fprintf ('SUBMATRIZ DE LOS GDL CON DEPLAZAMIENTO, [Kuu] = \n');
disp (Kunr);
KuuInv= inv(Kunr);
fprintf ('INVERSA DE LA MATRIZ DE RIGIDEZ CON DESPLAZAMIENTOS,[KuuInverse]
= \n');
disp (KuuInv);

%% CREACION DEL VECTOR DE REACCION EN NUDOS


jl= [31; 86.111; -36; 36; -25; -35.556; 26.665; -25; 59.333]; % VALORES EN kN
o KN*m
jlu = [31; 86.111]; % VECTOR DE REACCION DE GDL CON DESPLAZAMIENTO
delu = KuuInv*jlu;
fprintf ('VECTOR DE REACCION EN NUDOS, [Jl] = \n');
disp (jl');
fprintf ('DESPLAZAMIENTOS TOTALES DE GDL , [DelU] = \n');
disp (delu');

ANALISIS ESTRUCTURAL II
METODO DE RIGIDEZ

delr = zeros (ur,1);


del = [delu; delr];
deli= zeros (4,1);
for i = 1:n
for p = 1:4
deli(p,1) = del((l(i,p)),1) ;
end
if i == 1
delbar1 = deli;
mbar1= (Kg1 * delbar1)+fem1';
fprintf ('ELEMENTO AB =');
disp (i);
fprintf ('MATRIZ DESPLAZAMIENTO GLOBAL [DeltaBar] = \n');
disp (delbar1');
fprintf ('MATRIZ DE REACCIONES GLOBALES EN EXTREMOS [MBar] = \n');
disp (mbar1');
elseif i == 2
delbar2 = deli;
mbar2= (Kg2 * delbar2)+fem2';
fprintf ('ELEMENTO BC=');
disp (i);
fprintf ('MATRIZ DESPLAZAMIENTO GLOBAL [DeltaBar] = \n');
disp (delbar2');
fprintf ('MATRIZ DE REACCIONES GLOBALES EN EXTREMOS [MBar] = \n');
disp (mbar2');
else
delbar3 = deli;
mbar3= (Kg3 * delbar3)+fem3';
fprintf ('ELEMENTO CD =');
disp (i);
fprintf ('MATRIZ DESPLAZAMIENTO GLOBAL [DeltaBar] = \n');
disp (delbar3');
fprintf ('MATRIZ DE REACCIONES GLOBALES EN EXTREMOS [MBar] = \n');
disp (mbar3');
end
end

%% VERIFICAMOS
mbar = [mbar1'; mbar2'; mbar3'];
jf = zeros(dof,1);
for a=1:n
for b=1:4 % TAMAÑO DE LA MATRIZ
d = l(a,b);
jfnew = zeros(dof,1);
jfnew(d,1)=mbar(a,b);
jf=jf+jfnew;
end
end
fprintf ('FUERZAS EN NUDOS = \n');
disp (jf');

ANALISIS ESTRUCTURAL II

También podría gustarte