Está en la página 1de 26

UNIVERSIDAD NACIONAL DE

SAN CRISTÓBAL DE HUAMANGA


ESCUELA DE INGENIERIA CIVIL

TRABAJO SEMESTRAL
SOLUCIÓN DE ARMADURAS MEDIANTE
EL MÉTODO DE LA RIGIDEZ
USANO EL PROGRAMA MATLAB

DOCENTE : Ing. DELGADILLO AYALA, Rick Milton


INTEGRANTES:

: BENDEZÚ HUAMAN, Yoel 16130551


: CARBAJAL INGA, Roger 16130493
: CHAVES CÁCERES, Nilver D. 16138221
: CONGA YAURI, Maribel 16160106
: HUARACA YUYALI, Alex 16115700

Ayacucho – Perú
2018
Índice general

1. Introduccion 1
1.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2. Objetivos específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2. Marco teórico 2
2.1. ARMADURAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1.1. Supuestos para el diseño. . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Todas las cargas se aplican en los nodos. . . . . . . . . . . . . . . . . . . 3
Los elementos están unidos entre sí mediante pasadores lisos. . . . . . . 3
2.2. CARGAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.1. TIPOS DE CARGAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
CARGAS MUERTAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
CARGAS VIVAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3. Método matricial de la rigidez . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3. Procedimiento del Programa 7


3.1. Interfaz del programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2. Armadura con 6 nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3. Armadura con 15 nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4. Conclusiones y recomendaciones 13
4.1. Conclusiones: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2. Recomendaciones: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

5. Bibliografia 14

6. ANEXOS 15

Ingeniería Civil 1
Índice de figuras

2.1. Armaduras en techos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2


2.2. Armaduras en puentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.3. Nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.4. Elementos de tensión y compresión . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.5. Elementos triangular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.6. Carga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.7. Ecuacion matricial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.1. GUIDE de la portada del programa. . . . . . . . . . . . . . . . . . . . . . . . . 7


3.2. Programa antes de introducir los datos . . . . . . . . . . . . . . . . . . . . . . . 7
3.3. Armadura con 6 nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.4. Datos de las secciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.5. Cargas en cada Nodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.6. Datos ingresados en el Programa . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.7. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.8. Armadura con 15 nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.9. Datos de las secciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.10. Cargas en cada Nodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.11. Datos ingresados en el Programa . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.12. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

6.1. Diagrama de flujo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Ingeniería Civil 2
1 Introduccion

En el presente trabajo semestral que presentamos, se realiza un programa en MATLAB que


puede resolver las una armadura, para ello utilizamos el método de la rigidez por lo que al
introducir los datos característicos de cada barra de la armadura encontraremos nuestra matriz
rigidez con la cual podemos calcular las tensiones en cada barra, las reacciones en los apoyos y
las deformaciones que tiene cada nodo del sistema de armadura.

1.1 Objetivos

1.1.1. Objetivo general


Calcular las tensiones en cada barra, deformaciones en los nodos y reacciones de una arma-
dura, utilizando el programa MATLAB.

1.1.2. Objetivos específicos


Ver como cambia la matriz rigidez con el cambio de dados de entrada en programa.

Calcular los valores de todos las barras de la armadura utilizando el programa elaborado
en MATLAB.

Ingeniería Civil 1
2 Marco teórico

2.1 ARMADURAS
Una armadura es una estructura compuesta de elementos esbeltos unidos entre sí en sus
puntos extremos. Los elementos usados comúnmente en construcción consisten en puntales de
madera o barras metálicas.

Figura 2.1: Armaduras en techos

En particular, las armaduras planas se sitúan en un solo plano y con frecuencia se usan
para soportar techos y puentes. La armadura que se muestra en la figura 2.1-a es un ejemplo de
una armadura típica para soportar techos. En esta figura, la carga del techo se transmite a la
armadura en los nodos por medio de una serie de largueros. Como esta carga actúa en el mismo
plano que la armadura, figura 2.1-b, el análisis de las fuerzas desarrolladas en los elementos de
la armadura será bidimensional.

Figura 2.2: Armaduras en puentes

Ingeniería Civil 2
Programación Digital IC-246 Trabajo Semestral

En el caso de un puente, como el mostrado en la figura 2.2-a, la carga sobre la cubierta se


transmite primero a los largueros, luego a las vigas de piso, y finalmente a los nodos de las dos
armaduras laterales de soporte. Igual que en la armadura de techo, la carga en una armadura
de puente es coplanar, figura 2.2-b.
Cuando las armaduras de puente o de techo se extienden sobre grandes distancias, común-
mente se usa un soporte o rodillo para soportar un extremo, por ejemplo, el nodo A en las
figuras (2.1-a) y (2.2-a). Este tipo de soporte permite la expansión o la contracción de los
elementos debidas a los cambios de temperatura o a la aplicación de cargas.

2.1.1. Supuestos para el diseño.


Para diseñar los elementos y las conexiones de una armadura, es necesario determinar pri-
mero la fuerza desarrollada en cada elemento cuando la armadura está sometida a una carga
dada. Para esto, haremos dos supuestos importantes:

Todas las cargas se aplican en los nodos. En la mayoría de las situaciones, como en
armaduras de puentes y de techos, este supuesto se cumple. A menudo se pasa por alto el peso
de los elementos, ya que la fuerza soportada por cada elemento suele ser mucho más grande que
su peso. Sin embargo, si el peso debe ser incluido en el análisis, por lo general es satisfactorio
aplicarlo como una fuerza vertical con la mitad de su magnitud aplicada a cada extremo del
elemento.

Los elementos están unidos entre sí mediante pasadores lisos. Por lo general, las
conexiones de los nodos se forman empernando o soldando los extremos de los elementos a
una placa común, llamada placa de unión, como se muestra en la figura 2.3-a, o simplemente
pasando un perno o pasador largo a través de cada uno de los elementos, figura 2.3-b. Podemos
suponer que estas conexiones actúan como pasadores siempre que las líneas centrales de los
elementos unidos sean concurrentes.

Figura 2.3: Nodos

Ingeniería Civil 3
Programación Digital IC-246 Trabajo Semestral

Debido a estos dos supuestos, cada elemento de la armadura actuará como un elemento de
dos fuerzas, y por lo tanto, la fuerza que actúe en cada extremo del elemento debe estar dirigida
a lo largo del eje del elemento. Si la fuerza tiende a alargar el elemento, es una fuerza de tensión
(T), figura 2.4-a; mientras que si tiende a acortar el elemento, es una fuerza de compresión (C),
figura 2.4-b. En el diseño real de una armadura es importante establecer si la naturaleza de la
fuerza es de tensión o de compresión. A menudo, los elementos a compresión deben ser más
gruesos que los elementos a tensión debido al efecto de pandeo o de columna que ocurre cuando
un elemento está en compresión.

Figura 2.4: Elementos de tensión y compresión

Armadura simple. Si tres elementos se conectan entre sí median te pasadores en sus extremos,
forman una armadura triangular que será rígida, figura 2.5. Al unir dos elementos más y conectar
estos elementos a una nueva junta D se forma una armadura más grande. Este procedimiento
puede repetirse todas las veces que se desee para formar una armadura aún más grande. Si
una armadura se puede construir expandiendo de este modo la armadura triangular básica, se
denomina una armadura simple.

Figura 2.5: Elementos triangular

Ingeniería Civil 4
Programación Digital IC-246 Trabajo Semestral

2.2 CARGAS
Las cargas estructurales son definidas como la acción directa de una fuerza concentrada o
distribuida actuando sobre el elemento estructural y la cual produce estados tensionales sobre
la estructura.

2.2.1. TIPOS DE CARGAS


CARGAS MUERTAS Son aquellas que se mantienen en constante magnitud y con una
posición fija durante la vida útil de la estructura, la mayor carga muerta generalmente es el
peso propio de la estructura. Ejemplo: rellenos, acabados de entrepiso, cielos rasos, columnas,
vigas, losas. Etc.
CARGAS VIVAS Son las que son ejercidas por, maquinarias, mobiliario, materiales y
mercancía almacenada así como los cambios de temperatura. Viento cargas accidentales son
cargas que pasan rápido por la estructura, son cargas inerciales causadas por movimientos
sísmicos, estas pueden ser calculadas teniendo en cuenta las características dinámicas del suelo
(estudio de suelo).

Figura 2.6: Carga

2.3 Método matricial de la rigidez


El método matricial de la rigidez es un método de cálculo aplicable a estructuras hiperes-
táticas de barras que se comportan de forma elástica y lineal.
Este método está diseñado para realizar análisis computarizado de cualquier estructura
incluyendo a estructuras estáticamente indeterminadas.
El método matricial se basa en estimar los componentes de las relaciones de rigidez para
resolver las fuerzas o los desplazamientos mediante un ordenador.
El método consiste en asignar a la estructura de barras un objeto matemático, llamado
matriz de rigidez, que relaciona los desplazamientos de un conjunto de puntos de la estructura,
llamados nodos, con las fuerzas exteriores que es necesario aplicar para lograr esos desplaza-
mientos (las componentes de esta matriz son fuerzas generalizadas asociadas a desplazamientos

Ingeniería Civil 5
Programación Digital IC-246 Trabajo Semestral

generalizados). La matriz de rigidez relaciona las fuerzas nodales equivalentes y desplazamientos


sobre los nodos de la estructura. La ecuación matricial siguiente :

F =K ∗d

Donde:
F= Vector de cargas
K= Matriz de rigidez
D= Vector de desplazamientos

Figura 2.7: Ecuacion matricial

Relaciona los vectores carga y desplazamiento con la matriz de rigidez y que dicha ecuación
es aplicable tanto a barras como a estructuras, aunque con un sentido específico en cada caso.
Dado que la metodología de cálculo matricial tiene unas particularizaciones en base a las
diferentes tipologías estructurales, según sea la barra o la estructura tendremos diferentes di-
mensiones tanto de los vectores carga y desplazamiento como de la matriz de rigidez.

Ingeniería Civil 6
3 Procedimiento del Programa

3.1 Interfaz del programa


El programa en MATLAB fue creado con una interfaz en GUIDE, el cual hace que sea mas
sencillo introducir los distintos datos de cada sección de la barra de la armadura.

Figura 3.1: GUIDE de la portada del programa.

Figura 3.2: Programa antes de introducir los datos

Ingeniería Civil 7
Programación Digital IC-246 Trabajo Semestral

3.2 Armadura con 6 nodos


Se tiene una armadura de forma triangular con 6 nodos como se muestra en la figura 3.3

Figura 3.3: Armadura con 6 nodos

El programa permite extraer datos desde un excel lo que nos facilita el ingreso de datos
para cada sección de las barra (Figura 3.4), teniendo en cuenta que antes se debe hacer una
previa enumeración de cada nodo como también de cada barra para tener un orden a la hora
de insertar los datos de las cargas (Figura 3.5).

Figura 3.4: Datos de las secciones

Figura 3.5: Cargas en cada Nodo

Al pulsar el pushbutton de nombre .Exportar datos"podemos sacar los datos que introduci-
mos previamente en el excel y lo plasma en el GUIDE que creamos. (Figura 3.6)

Ingeniería Civil 8
Programación Digital IC-246 Trabajo Semestral

Figura 3.6: Datos ingresados en el Programa

Resolvemos nuestra armadura pulsado el pushbutton de nombre Resolver obtenemos como


2

resultados la matriz rigidez, las reacciones en cada apoyo, las tensiones en cada barra y las
deformaciones en cada nodo. (Figura 3.7)

Figura 3.7: Resultados

La matriz rigidez resultante es de orden [12x12] .


Las reacciones en los apoyos son iguales y con valores solo en el eje "puesto que existente
2

solo cargas perpendiculares.


Las tensiones repartidas en las barras son iguales por el eje de simetría ya que la armadura
es simétrica.

Ingeniería Civil 9
Programación Digital IC-246 Trabajo Semestral

3.3 Armadura con 15 nodos


Se tiene una armadura de forma triangular con 15 nodos como se muestra en la figura 3.8

Figura 3.8: Armadura con 15 nodos

El programa permite extraer datos desde un excel lo que nos facilita el ingreso de datos
para cada sección de las barra (Figura 3.9), teniendo en cuenta que antes se debe hacer una
previa enumeración de cada nodo como también de cada barra para tener un orden a la hora
de insertar los datos de las cargas (Figura 3.10).

Figura 3.9: Datos de las secciones

Al pulsar el pushbutton de nombre .Exportar datos"podemos sacar los datos que introducimos
previamente en el excel y lo plasma en el GUIDE que creamos. (Figura 3.11)

Ingeniería Civil 10
Programación Digital IC-246 Trabajo Semestral

Figura 3.10: Cargas en cada Nodo

Ingeniería Civil 11
Programación Digital IC-246 Trabajo Semestral

Figura 3.11: Datos ingresados en el Programa

Resolvemos nuestra armadura pulsado el pushbutton de nombre Resolver obtenemos como


2

resultados la matriz rigidez, las reacciones en cada apoyo, las tensiones en cada barra y las
deformaciones en cada nodo. (Figura 3.12)

Figura 3.12: Resultados

La matriz rigidez resultante es de orden [30x30] .


Las reacciones en los apoyos son iguales y con valores solo en el eje "puesto que existente
2

solo cargas perpendiculares.


Las tensiones repartidas en las barras son iguales por el eje de simetría ya que la armadura
es simétrica.

Ingeniería Civil 12
4 Conclusiones y recomendaciones

4.1 Conclusiones:

El uso de matrices es fundamental en el calculo de la matriz rigidez.

El hacer un programa en Matlab refuerza nuestro conocimientos previo de temas de cursos


de la carreta.

Matlab puede extraer imágenes, como también trabajar con programas externos ya sean
el excel entre otros

El programa Matlab es de fácil aprendizaje.

Es bueno crear un scrip previo antes de hacer nuestro programa en GUIDE.

El trabajo nos ayuda a reforzar nuestros conocimientos en programación.

El progrma puede resolver armaduras de "n"nodos, solo es cuestión de numerar de manera


correcta cada nodo y de introducir adecuadamente los datos de entrada

La matriz de rigidez es simétrica.

4.2 Recomendaciones:

Enumerar de manera adecuada los nodos, donde las primeras enumeraciones serán de la
parte superior y terminar en los apoyos primero el apoyo de rodillo y por último el apoyo
fijo.

Las barras deven seguir la enumeración de los nodos en la mayoría de los casos y terminar
de enumerar en los extremos de los apoyos.

Con el pushbutton de nombre .Extraer los datos"podemos extraer datos directamente del
excel, por lo que tenemos que introducir los datos de cada sección primero en el excel.

Para ocultar resultados que no deseemos ver en el Command Window se utiliza el ";".

Ingeniería Civil 13
5 Bibliografia

Serway, K. y Beichner R (2002) Física. Tomo I. México, McGraw Hill Interamericano,


S.A. Editores, S.A. .

Boor, F., y Johnston, R (1990) Estática. Mecánica vectorial para ingenieros. México, D.F.,
México. Mc Graw Hill

Morales, Heron. MATLAB para ciencias e ingeniería con metodos numericos y visualiza-
ción gráfica. Lima,Perú. Editorial Megabyte

BEER, Ferdinand y JOHNSTON, Jr. E. Russell. Mecánica Vectorial para Ingenieros


Estática. 8ª edición, Ed. Mc Graw-Hill, 2007

HIBBELER, R.C. Mecánica Vectorial para Ingenieros Estática 10ª edición, México D.F.,
Pearson Prentice Hall, 2004

10) James M. Gere, Resistencia de materiales, 5° Edición, Ediciones Paraninfo S.A., 2012.

Ingeniería Civil 14
6 ANEXOS

Figura 6.1: Diagrama de flujo

Ingeniería Civil 15
Códigos del programa “armaduras.m” con
interfaz en GUIDE:

function varargout = Armaduras(varargin)


% ARMADURAS MATLAB code for Armaduras.fig
% ARMADURAS, by itself, creates a new ARMADURAS or
raises the existing
% singleton*.
%
% H = ARMADURAS returns the handle to a new ARMADURAS
or the handle to
% the existing singleton*.
%
% ARMADURAS('CALLBACK',hObject,eventData,handles,...)
calls the local
% function named CALLBACK in ARMADURAS.M with the
given input arguments.
%
% ARMADURAS('Property','Value',...) creates a new
ARMADURAS or raises the
% existing singleton*. Starting from the left,
property value pairs are
% applied to the GUI before Armaduras_OpeningFcn gets
called. An
% unrecognized property name or invalid value makes
property application
% stop. All inputs are passed to Armaduras_OpeningFcn
via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI
allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help


Armaduras

% Last Modified by GUIDE v2.5 17-Oct-2018 11:45:06

% Begin initialization code - DO NOT EDIT


gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Armaduras_OpeningFcn,
...
'gui_OutputFcn', @Armaduras_OutputFcn,
...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State,
varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT

% --- Executes just before Armaduras is made visible.


function Armaduras_OpeningFcn(hObject, eventdata, handles,
varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)
% varargin command line arguments to Armaduras (see
VARARGIN)
Im = imread('logo.png');
image(Im)
axis off
% Choose default command line output for Armaduras
handles.output = hObject;

% Update handles structure


guidata(hObject, handles);

% UIWAIT makes Armaduras wait for user response (see


UIRESUME)
% uiwait(handles.figure1);

% --- Outputs from this function are returned to the


command line.
function varargout = Armaduras_OutputFcn(hObject,
eventdata, handles)
% varargout cell array for returning output args (see
VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)

% Get default command line output from handles structure


varargout{1} = handles.output;

function edit1_Callback(hObject, eventdata, handles)


% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)

% Hints: get(hObject,'String') returns contents of edit1 as


text
% str2double(get(hObject,'String')) returns contents
of edit1 as a double

% --- Executes during object creation, after setting all


properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles empty - handles not created until after all
CreateFcns called

% Hint: edit controls usually have a white background on


Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function edit0_Callback(hObject, eventdata, handles)


% hObject handle to edit0 (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)

% Hints: get(hObject,'String') returns contents of edit0 as


text
% str2double(get(hObject,'String')) returns contents
of edit0 as a double
function edit2_Callback(hObject, eventdata, handles)
% hObject handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)

% Hints: get(hObject,'String') returns contents of edit2 as


text
% str2double(get(hObject,'String')) returns contents
of edit2 as a double

% --- Executes during object creation, after setting all


properties.
function edit2_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles empty - handles not created until after all
CreateFcns called

% Hint: edit controls usually have a white background on


Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function edit3_Callback(hObject, eventdata, handles)


% hObject handle to edit3 (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)

% Hints: get(hObject,'String') returns contents of edit3 as


text
% str2double(get(hObject,'String')) returns contents
of edit3 as a double

% --- Executes during object creation, after setting all


properties.
function edit3_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit3 (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles empty - handles not created until after all
CreateFcns called

% Hint: edit controls usually have a white background on


Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function edit4_Callback(hObject, eventdata, handles)


% hObject handle to edit4 (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)

% Hints: get(hObject,'String') returns contents of edit4 as


text
% str2double(get(hObject,'String')) returns contents
of edit4 as a double

% --- Executes during object creation, after setting all


properties.
function edit4_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit4 (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles empty - handles not created until after all
CreateFcns called

% Hint: edit controls usually have a white background on


Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

% --- Executes on button press in pushbutton1.


function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)

%9na armadura
clc
%Variable Globales
E =str2double(get(handles.edit4,'String')); % E=2*10^6
A =str2double(get(handles.edit3,'String')) ; % A= .001
Nodos =str2double(get(handles.edit1,'String'));

M=get(handles.uitable1,'data');
Qk=get(handles.uitable6,'data');
[a1,a2]=size(M);
for i=1:a1
l1=sqrt((M(i,1)-M(i,3))^2 +(M(i,2)-M(i,4))^2);
Lg(i)=l1;
end
Lg=Lg';
M=[M,Lg];
K=zeros((a1+3));

%hallando los "k" de cada barra


for i=1:a1
lx=(M(i,3)-M(i,1))/M(i,7);
ly=(M(i,4)-M(i,2))/M(i,7);
k=A*E/Lg(i)*[lx^2 lx*ly -lx^2 -lx*ly
lx*ly ly^2 -lx*ly -ly^2
-lx^2 -lx*ly lx^2 lx*ly
-lx*ly -ly^2 lx*ly ly^2];

in=M(i,5) ;
fi=M(i,6) ;
xn=in*2-1; yn=in*2 ; xf=fi*2-1; yf=fi*2;
M0=zeros((a1+3));
lq(i,1)=A*E/Lg(i)*-lx; lq(i,2)=A*E/Lg(i)*-ly;
lq(i,3)=A*E/Lg(i)*lx; lq(i,4)=A*E/Lg(i)*ly;

k1=k([1,2],[1,2]);
k2=k([1,2],[3,4]);
k3=k([3,4],[1,2]);
k4=k([3,4],[3,4]);

M0([xn,yn],[xn,yn])=k1;
M0([xn,yn],[xf,yf])=k2;
M0([xf,yf],[xn,yn])=k3;
M0([xf,yf],[xf,yf])=k4;

K=K+M0;
end

Kii=K([1:a1],[1:a1]);
Kji=K([(a1+1):(a1+3)],[1:a1]);

Du=inv(Kii)*Qk(1:end-3 , 1);
Qu=Kji*Du;
Qu=Qu-Qk(end-2:end,1);

Dt=[Du;0;0;0]; %%%%%%%%%%%% Desplazamientos


for i=1:Nodos
Defx=Dt(2*i-1);Defy=Dt(2*i);
Deformaciones(i,1)=Defx;
Deformaciones(i,2)=Defy;
end

for i=1:a1
in=M(i,5) ;
fi=M(i,6) ;
n=in ;f= fi;
tencion(i,1)= lq(i,:)*[Dt(n*2-1);Dt(n*2);Dt(f*2-
1);Dt(f*2)];
end
% set(handles.uitable1,'data',M)
set(handles.uitable7,'data',K)
set(handles.uitable3,'data',Deformaciones)
set(handles.uitable4,'data',tencion)
set(handles.uitable5,'data',Qu)

function edit5_Callback(hObject, eventdata, handles)


% hObject handle to edit5 (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)

% Hints: get(hObject,'String') returns contents of edit5 as


text
% str2double(get(hObject,'String')) returns contents
of edit5 as a double

% --- Executes during object creation, after setting all


properties.
function edit5_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit5 (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles empty - handles not created until after all
CreateFcns called

% Hint: edit controls usually have a white background on


Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

% --- Executes on button press in pushbutton4.


function pushbutton4_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton4 (see GCBO)
% eventdata reserved - to be defined in a future version
of MATLAB
% handles structure with handles and user data (see
GUIDATA)
Secciones= xlsread('armadura.xlsx',1)
set(handles.uitable1,'data',Secciones)
Cargas= xlsread('armadura.xlsx',2)
set(handles.uitable6,'data',Cargas)

También podría gustarte