Vous êtes sur la page 1sur 2

clear all clc display('%%%%%%%%%%%%%%%%%%%%%% DATOS GENERALES %%%%%%%%%%%%%%%%%%'); A=input('CUANTOS NODOS TIENE LA ARMADURA?

= '); nodos=A; N=input('NMEROS DE ELEMENTOS (BARRAS) QUE CONFORMA LA ARMADURA = '); cn=zeros(A,3); display('%%%%%%%%%%%%%%% COORDENADAS NODALES %%%%%%%%%%%%%%%%%%%%%%'); for j=1:A B= ['Indica la coordenada [X,Y,Z] del nodo' num2str(j) '=']; cor=input(B); cn(j,:)=cn(j,:)+cor; end display('%%%%%%%%%%%%%%%%%%%%%%%%%%%%% NODOS PARA CADA ELEMENTO %%%%%%%%%%%%%%%% %%%%%%'); cord=cn;%Almacena la coordenadas de todos los nodos que conforma la estructura c=zeros(N,9);%Se crea esta matriz para generar los valores de las coordenales no dales de cada elemento Ar=zeros(N,1);%%Se crea la matriz rea para generar sus datos myoung=zeros(N,1); %Se crea esta matriz para generar los valores del modulo de y oung para cada elemento LE=zeros(N,1);%%Matriz que almacenara la longitud de cada uno de los elementos ll=zeros(N,1);%%Matriz para almacenar el coseno director l mm=zeros(N,1);%%Matriz para almacenar el coseno director m K=zeros(3.*A,3.*A);%%Se crea la matriz de rigidez Global de la armadura Con=zeros(N,3); %En esta matriz se almacena los nodos de conectividad de cada el emento for j=1:N E(j)=j; nod= ['Cuales son los nodos [n1,n2] del elemento ' num2str(j) ' ? =']; NODE=input(nod); NODE1=NODE(1,1);%% Nodo inicial del elemento analizado NODE2=NODE(1,2);%% Nodo final del elemento analizado ModY=['Indica el Modulo de Young del Elemento ' num2str(j) '=']; ME=input(ModY); myoung(j,:)=myoung(j,:)+ME; AA=['Cul es el rea del elemento ' num2str(j) ' ? =']; Area=input(AA); Ar(j,:)=Ar(j,:)+Area; %se acumula en una matriz columna el area de cada elem ento NODOA=cord(NODE1,:); NODOB=cord(NODE2,:); Vect=NODOA-NODOB; X1=NODOA(1,1);%%Establece el valor de X1 en donde inicia el elemento Y1=NODOA(1,2);%%Establece el valor de Y1 en donde inicia el elemento Z1=NODOA(1,3);%%Establece el valor de Z1 en donde inicia el elemento X2=NODOB(1,1);%%Establece el valor de X2 en donde termina el elemento Y2=NODOB(1,2);%%Establece el valor de Y2 en donde termina el elemento Z2=NODOA(1,3);%%Establece el valor de Z2 en donde inicia el elemento NODOe1=[NODOA NODOB]; c(j,:)=c(j,:)+NODE1;%%Acumula las coordenadas de cada elemento X1,X2,Y1,Y2 d e todos los nodos q1X=(NODE1*3-2);%%Especifica el vector desplazamiento en el eje X q1Y=(NODE1*3-1);%%Especifica el vector desplazamiento en el eje Y q1Z=(NODE1*3);%%Especifica el vector desplazamiento en el eje Z q2X=(NODE2*3-2);%%Especifica el vector desplazamiento en el eje X q2Y=(NODE2*3-1);%%Especifica el vector desplazamiento en el eje Y q2Z=(NODE1*3);%%Especifica el vector desplazamiento en el eje Z MD=[q1X q1Y q1Z q2X q2Y q2Z];% Vector 1x6 el vector desplazamiento respectiv o de cada k: Qtotal(numero total de desplazamientos)=A(numero de nodos)*3

le=sqrt(sum(Vect.^2));%%calcula la longitud de cada elemento LE(j,:)=LE(j,:)+le;%% Matriz almacena la longitud de cada elemento l=(X2-X1)/le;%calcula el coseno director en x m=(Y2-Y1)/le;%calcula el coseno director en y n=(Z2-Z1)/le;%calcula el coseno director en z ll(j,:)=ll(j,:)+l;%Acumula el coseno director x de cada elemento mm(j,:)=mm(j,:)+m;%Acumula el coseno director y de cada elemento nn(j,:)=nn(j,:)+n;%Acumula el coseno director z de cada elemento Con(j,:)=Con(j,:)+NODE1; rig=(ME.*A)/le;%%Determina el valor constante de la matri rigidez de cada el emento ke=rig.*[l.^2 l.*m -l.^2 -l.*m; l.*m m.^2 -l.*m -m.^2; -l.^2 -l. *m l.^2 l.*m; -l.*m -m.^2 l.*m m.^2];%%crea la matriz de riguidez de cad a elemento K(MD,MD)=K(MD,MD)+ke;%%Ensamble de la matriz rigidez global end display('&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'); display(' ["Elemento Nodo le l m A "]' ); display('&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'); RES=[E',Con,LE,ll,mm,Ar] %int2str(RESULTADO) display('&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&') ; display(' MATRIZ DE RIGUIDEZ GLOBAL'); display('&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&' ); MRG=K

Vous aimerez peut-être aussi