%%ENUMERAR LOS NUDOS Y DETERMINAR LAS COORDENADAS DE CADA NUDO E INGRESAR LAS COORDENADAS. OJO: ESTO SOLO SIRVE PARA ARMADURAS. NO OLVIDAR. x=[0 6 12 9]; %%INGRESAR SOLO LAS COORDENAS “X” DE TODOS LOS NUDOS, LAS COORDENADAS DEBEN ESTAR SEPARADAS POR “ESPACIO” y=[0 5 0 0]; %%INGRESAR SOLO LAS COORDENAS “Y” DE TODOS LOS NUDOS, LAS COORDENADAS DEBEN ESTAR SEPARADAS POR “ESPACIO” gdl=[1 2;3 4;5 6;7 8]; %%ESCIBIR 2 GRADOS DE LIBERTAD POR CADA NUDO DE LA ARMADURA (EJ: 1 2; 3 4; 5 6; 7 8; 9 10…) CADA PARA DE NÚMEROS DEBE ESTAR SEPARADO POR “ESPACIO” Sentido=[1 2;2 3;3 4;4 1;2 4]; %%INGRESAR EL SENTIDO DE CADA BARRA. EN ESTE PASO SE ESTABLECE EL ORDEN DE LAS BARRAS. (EJ: 1 2; 1 3; 2 3…) REPRESENTA QUE EL SENTIDO DE LA PRIMERA BARRA VA DE 1 A 2, LA SEGUNDA BARRA VA DE 1 A 3, LA TERCERA BARRA VA DE 2 A 3. EL SENTIDO DEBE SEPARARSE POR “ESPACIO” A=[0.0025 0.0025 0.0025 0.0025 0.0025];%%INGRESAR EL ARÉA DE CADA BARRA. LAS ÁREAS DEBEN LLEVAR EL MISMO ORDEN DE BARRAS QUE “EL SENTIDO” E=20000; %%MÓDULO DE ELASTICIDAD DE TODAS LAS BARRAS %% CALCULA LA LONGITUD DE LAS BARRAS for e=1:5 %% CAMBIAR EL VALOR SEGÚN EL NÚMERO TOTAL DE BARRAS DE LA ARMADURA idx1=Sentido(e,1); idx2=Sentido(e,2); %% NO CAMBIAR NUNCA L(e)=sqrt((x(idx2)-x(idx1))^2+(y(idx2)-y(idx1))^2); end; k=E.*A./L; %%CÁLCULO DE LA CONSTANTE(Rigid. de cada Barra) k=E*A/L K=sym(zeros(8));%% CAMBIAR EL VALOR Y PONER EL DOBLE DE LA CANTIDAD DE NUDOS DE LA ARMADURA (DEBES TENER EL MISMO NÚMERO ACÁ COMO GRADOS DE LIBERTAD TIENES ARRIBA) %% CALCULA EL COSENO, SENO Y LA RIGIDEZ TOTAL for e=1:5 %% CAMBIAR EL VALOR SEGÚN EL NÚMERO TOTAL DE BARRAS DE LA ARMADURA idx=[gdl(Sentido(e,1),:) gdl(Sentido(e,2),:)]; idx1=Sentido(e,1); idx2=Sentido(e,2);
%% NO CAMBIAR NUNCA
c=(x(idx2)-x(idx1))/L(e); s=(y(idx2)-y(idx1))/L(e); t=[c^2 c*s -c^2 -c*s;
c*s s^2 -c*s -s^2; -c^2 -c*s c^2 c*s; -c*s -s^2 c*s s^2]; K(idx,idx)=K(idx,idx)+k(e).*t; end; co=[2 6 7 8]; %%CADA NUDO TIENE 2 GRADOS DE LIBERTAD. ESCRIBIR EL NÚMERO DEL GRADO DE LIBERTAD DONDE ESTÁ ACTUANDO LAS REACCIONES DE LOS APOYOS. LOS NÚMEROS DE LOS GRADOS DE LIBERTAD DONDE ACTÚAN LOS APOYOS DEBEN ESTAR SEPARADOS POR “ESPACIOS” de=[1 3 4 5]; %%CADA NUDO TIENE 2 GRADOS DE LIBERTAD. ESCRIBIR EL RESTO DE NÚMEROS DE GRADOS DE LIBERTAS (PUEDEN EXISTIR FUERZAS EXTERNAS EN DICHOS NUDOS, PERO NO PUEDEN EXISTIR REACCIONES PROVENIENTES DE APOYOS). LOS NÚMEROS DE LOS GRADOS DE LIBERTAD DONDE NO ACTÚAN LOS APOYOS DEBEN ESTAR SEPARADOS POR “ESPACIOS” Kcc=K(co,co); Kcd=K(co,de); %% NO CAMBIAR NUNCA Kdc=K(de,co); Kdd=K(de,de); Dc=[0;0;0;0]; %% DESPLAZAMIENTOS CONOCIDOS. ESCRIBIR “0” LA MISMA CANTIDAD DE NÚMEROS QUE APARECE EN co=[]. LOS “0” DEBEN ESTAR SEPARADOS POR “;” fc=[0;10;0;0];%%INGRESAR LAS FUERZAS EXTERNAS (PUEDEN SER VALORES O CEROS) QUE ACTÚAN EN CADA UNO DE LOS GRADOS DE LIBERTAD QUE APARECEN EN de=[]. LOS “NÚMEROS” DEBEN ESTAR SEPARADOS POR “;” %% NO CAMBIAR NUNCA Dd=Kdd\(fc-Kdc*Dc); %%Cálculo del desplazamiento desconocido fd=Kcc*Dc+Kcd*Dd; %%Cálculo de la fuerza externa desconocida D=zeros(8,1);f=zeros(8,1); %%ESCRIBIR EL NÚMERO DE GRADOS DE LIBERTAD DE LA ARMADURA. D(co)=Dc; D(de)=Dd;%%Llenado de datos en la matriz de desplazamiento f(de)=fc; f(co)=fd;%%Llenado de la matriz de fuerza S=zeros(5,1);%% CAMBIAR EL VALOR SEGÚN EL NÚMERO TOTAL DE BARRAS DE LA ARMADURA. %%Cálculo de las fuerzas internas en las barras for e=1:5 %% CAMBIAR EL VALOR SEGÚN EL NÚMERO TOTAL DE BARRAS DE LA ARMADURA
%% NO CAMBIAR NUNCA
idx1=Sentido(e,1); idx2=Sentido(e,2); c=(x(idx2)-x(idx1))/L(e); s=(y(idx2)-y(idx1))/L(e); nix=gdl(Sentido(e,1),1); njx=gdl(Sentido(e,2),1); niy=gdl(Sentido(e,1),2); njy=gdl(Sentido(e,2),2); S(e)=k(e)*(c*(D(njx)-D(nix))+s*(D(njy)-D(niy))); end; %%obtención de los resultados K,D,f,S