Sunteți pe pagina 1din 7

Departamento de Ingeniera Civil y Ambiental

Facultad de Ingeniera
Interaccin dinmica suelo estructura ICYA 4416, 2017-20

Clase complementaria 03 29 de agosto de 2017


Introduccin al manejo de MATLAB
QU ES MATLAB?
MATLAB (abreviatura de MATrix LABoratory, "laboratorio de matrices") es un lenguaje de alto nivel y un
entorno interactivo para el clculo numrico, la visualizacin y la programacin. Mediante MATLAB, es posible
analizar datos, desarrollar algoritmos y crear modelos o aplicaciones. El lenguaje, las herramientas y las
funciones matemticas incorporadas permiten explorar diversos enfoques y llegar a una solucin ms
eficiente comparado con hojas de clculo o lenguajes de programacin tradicionales. MATLAB se puede
utilizar en una gran variedad de aplicaciones, tales como procesamiento de seales y comunicaciones,
procesamiento de imagen y vdeo, sistemas de control, pruebas y medidas, finanzas computacionales y
biologa computacional.

ENTORNO DE MATLAB
La interfaz de MATLAB tiene los siguientes componentes bsicos (ver Figura 1):
1) Men principal: permite guardar, generar y exportar archivos, adems de otras opciones bsicas del
programa.
2) Command Window: Ventana para ejecucin de lneas de comandos, tpicamente permite:
- Creacin y visualizacin de variables
- Operaciones bsicas, ejecucin de comandos de MATLAB
- Ejecucin de funciones y rutinas
Para ejecutar una lnea de comando, se debe escribir la expresin a continuacin del prompt (>>), y
enter. Si no se quiere ver el resultado de la expresin en pantalla, la expresin debe finalizar con punto
y coma (;). Tambin permite usar el comando help,el cual proporciona informacin bsica de las
funciones y comandos integrados del programa.
3) Command History: ventana que contiene el historial de comandos realizados.
4) Workspace: ventana que contiene la lista de variables almacenadas por el programa.
5) Variable Editor: Al hacer doble clic sobre una de las variables en Workspace, se abre una nueva ventana
que muestra dicha variable en un formato matricial por casillas (como Excel), que permite visualizar o
modificar la variable seleccionada.
6) Editor: Ventana principal para la creacin de archivos de comandos (archivos .m) bajo un entorno de
programacin. Permite crear archivos de comandos y/o funciones a partir de una secuencia de lneas de
comando. Los archivos de comandos ejecutan una serie de instrucciones al ser llamado, y estas
instrucciones en el archivo de comandos operan en el Workspace definido. Los archivos de funciones
requieren de unos parmetros de entrada (argumentos) para su ejecucin, y estos parmetros deben
ser definidos por el usuario.
7) Current Directory: Muestra la ubicacin actual de la ruta en la cual se almacenan y ejecutan las variables.
Es necesario definirla cuando se est trabajando con archivos de comando (archivos .m), o cuando se
estn cargando variables o datos externos.

DEFINICIN DE VARIABLES
Todas las variables son definidas de forma matricial. Variables que contienen un nico dato son escalares;
variables con una nica fila o columna son vectores, matrices y elementos.

x = 5; (Escalar)
v = [1,2,3,4]; (Vector)
A = [1,2,3;4,5,6;7,8,9]; (Matriz)
Elem{i}.E = 200000; (Arreglo de estructuras)

ICYA 4416 Segundo semestre de 2017 Pgina 1


Departamento de Ingeniera Civil y Ambiental
Facultad de Ingeniera
Interaccin dinmica suelo estructura ICYA 4416, 2017-20

Las variables pueden ser nombradas utilizando una combinacin de letras, nmeros y smbolos siempre que
comiencen con una letra, por ejemplo A_3b = 35. Adems, MATLAB es capaz de distinguir entre maysculas y
minsculas.

Figura 1. Entorno de MATLAB

OPERADORES Y FUNCIONES BSICAS


Operadores Bsicos
+ Suma
- Resta
* Multiplicacin
/ Divisin
^ Potencia

Funciones Bsicas

sqrt( ) Raz cuadrada sind( ) Seno con ngulos en grados


exp( ) Exponencial cos( ) Coseno
max( ) Mximo tan( ) Tangente
min( ) Mnimo pi( ) Pi
abs( ) Valor absoluto log( ) Logaritmo natural
sin( ) Seno con ngulos en radianes log10( ) Logaritmo en base 10

Operadores Lgicos y de Relacin


< Menor a
<= Menor igual a
> Mayor a
>= Mayor igual a
== Igual a

ICYA 4416 Segundo semestre de 2017 Pgina 2


Departamento de Ingeniera Civil y Ambiental
Facultad de Ingeniera
Interaccin dinmica suelo estructura ICYA 4416, 2017-20

~= Diferente a
& Y
| O
~ No
Caracteres Especiales
[] Definicin de matrices
() Precedencia aritmtica en expresiones, definicin de argumentos
, Separador de elementos en matrices, y argumentos en funciones
; Separador de filas en matrices, separador de declaraciones
% Inicio de comentarios

OPERACIONES CON MATRICES Y VECTORES


Z = zeros(m,n) Crea una matriz Z de m x n con todos los elementos iguales a cero
B = ones(m,n) Crea una matriz B de m x n con todos los elementos iguales a uno
[u,v] = size(A) Devuelve las variables u y v con los valores correspondientes del nmero de filas y de
columnas de la matriz (u = m, v = n). Cuando m n es igual a 1 (cuando A es un vector), se
puede obtener la dimensin del vector por medio del comando length(A)
a = A(i,j) Devuelve la variable a con el valor del elemento en la posicin i,j de la matriz A
r = A(k,:) Devuelve la variable r como un vector que contiene todos los elementos en la fila k de la
matriz A
c = A(:,k) Devuelve la variable r como un vector que contiene todos los elementos en la columna k de
la matriz A
D = A.*s Devuelve la matriz D que contiene la multiplicacin de cada uno de los elementos de A por
un escalar s. Esta misma operacin puede realizarse para sumas, restas, divisiones,
potencias, etc
[V,D] = eig(X) Produce una matriz diagonal D con los valores propios de la matriz, y una matriz V cuyas
columnas corresponden a los vectores propios tal que X*V = V*D.

OPERACIONES CON NMEROS COMPLEJOS


abs() Magnitud del nmero complejo
angle() ngulo de fase
complex(a,b) Crea un nmero complejo a + b*i
conj() Conjugado complejo
i Unidad imaginaria
j Unidad imaginaria
imag() Parte imaginaria de un nmero complejo
real() Parte real de un nmero complejo

SECUENCIAS DE CONTROL DE FLUJO


Control Condicional Secuencia if, else, elseif
Permite ejecutar una secuencia determinada siempre y cuando se cumpla una condicin inicial o de entrada
a la secuencia. La sintaxis es la siguiente:
if condicin_1
secuencia_1
end

if condicin_1
secuencia_1
else
secuencia_ 2

ICYA 4416 Segundo semestre de 2017 Pgina 3


Departamento de Ingeniera Civil y Ambiental
Facultad de Ingeniera
Interaccin dinmica suelo estructura ICYA 4416, 2017-20

end

La condicin de entrada para cada secuencia establecida es normalmente una operacin lgica, y la secuencia
es una serie de operaciones o pasos que se ejecutan siempre y cuando se cumpla la condicin. El recorrido de
la secuencia if implica que al entrar en una de las secuencias definidas, no se entrar en ninguna otra pues
son excluyentes. Si no se cumple ninguna condicin de entrada, el recorrido termina sin ejecutar ninguna de
las secuencias interiores.

Control de Ciclos Secuencia for


Permite ejecutar una secuencia especfica un nmero determinado de veces, recorrindola en forma de
ciclos. La sintaxis es la siguiente;
for variable = inicio : paso : final
secuencia_1
end

El recorrido de ciclos se lleva a cabo desde un valor inicial de la variable, la cual aumenta un paso cada ciclo,
hasta alcanzar el valor declarado como final. Por defecto, si no se especifica el paso con el cual aumenta la
variable, el programa lo tomar como 1, y por lo tanto para recorrer una variable que aumenta una unidad
por ciclo, nicamente es necesario declarar el inicio y el final (variable = inicio : final).

Control de Ciclos Secuencia while


Permite ejecutar una secuencia especfica un nmero indeterminado de veces, siempre y cuando se cumpla
la condicin establecida. La sintaxis es la siguiente.
while condicin_1
secuencia_1
end

El programa verificar el cumplimiento de la condicin de entrada, y mientras se cumpla dicha condicin,


permanecer dentro del ciclo, ejecutando la secuencia. En el momento en que la condicin de entrada deje
de ser vlida, saldr del ciclo.

Declaracin de Funciones
Las funciones son secuencias de ejecucin que requieren argumentos ingresados por el usuario. Se debe
especificar el nombre de las variables de salida, as como el orden y la cantidad de argumentos de entrada. La
sintaxis para su definicin es la siguiente:
function [out_1,out_2] = ejemplo(in_1,in_2,in_3)
secuencia_1
secuencia_2
end

La function ejemplo requiere de tres argumentos de entrada, en el orden establecido, y ejecuta una serie de
operaciones y secuencias que resultan en dos variables de salida. Al llamar la funcin, se debe escribir el
nombre seguido de los argumentos. La sintaxis para su ejecucin es la siguiente:

ejemplo(a,b,c)

En algunos casos, no se requiere asignar ningn resultado a una variable de salida, como es el caso en que el
resultado es una grfica. Para esto, la definicin de la funcin puede omitir la declaracin de la variable de
salida:
function ejemplo(in_1,in_2,in_3)

ICYA 4416 Segundo semestre de 2017 Pgina 4


Departamento de Ingeniera Civil y Ambiental
Facultad de Ingeniera
Interaccin dinmica suelo estructura ICYA 4416, 2017-20

MANEJO DE INFORMACIN
Cargar Informacin
MATLAB permite cargar diferentes tipos de archivos que contienen informacin y almacenarlos como
variables. Una forma comn de ingresar bases de datos es cargar un archivo de texto que contenga una lista
de datos, y organizarlos en un vector o matriz.

V = load(Nombre del archivo.txt);

El comando load permite cargar los valores de un archivo de texto (que debe estar en el directorio del
archivo.m que se est ejecutando), y almacenarlos de forma matricial en el vector V. Desde este punto, la
informacin del archivo de texto pasa a ser una serie de elementos del vector que pueden ser operados con
las funciones y secuencias de MATLAB.

Exportar Informacin
Tambin se permite exportar los resultados o variables ejecutadas en archivos de salida, utilizando muchos
formatos diferentes. Por ejemplo, si se desea exportar un vector U en formato ASCII, utilizando un espacio
como delimitador de objetos, la sintaxis es la siguiente:

dlmwrite(Nombre del archivo.txt,U, )


save Nombre del archivo.txt nombre de la variable extensin

El archivo de salida resultante ser un archivo de texto con el nombre especificado, guardado en el Current
Directory, cuyos valores estn delimitados por espacio.

GRFICAS
MATLAB es una poderosa herramienta para graficar datos, y cuenta con muchos tipos de grficas en dos y
tres dimensiones. La forma ms simple de graficar es utilizando el comando plot, el cual tiene la siguiente
sintaxis:

plot(x,y,)

Al ejecutar este comando, se crea una grfica con los valores del vector x en el eje de las abscisas, y los valores
del vector y en el eje de las ordenadas, y automticamente escoge el formato ms apropiado de los ejes para
su visualizacin. Adicionalmente, se pueden definir parmetros de la grfica despus del comando plot, como
el ttulo, los ejes, el color de lnea, el tipo de lnea, etc. A continuacin se listan los comandos complementarios
ms comunes.

title (Ttulo del grfico)


xlabel (Ttulo del eje x)
ylabel (Ttulo del eje y)
axis([xi xf yi yf])

La declaracin del tipo y color de lnea puede hacerse dentro del comando plot (como se indica por los puntos
suspensivos en la sintaxis). Las abreviaciones para algunos tipos y colores disponibles son:
_ Lnea solida (por defecto)
-- Lnea segmentada
: Lnea punteada
-. Lnea segmento-punto
+ Marcador cruz
o Marcador crculo

ICYA 4416 Segundo semestre de 2017 Pgina 5


Departamento de Ingeniera Civil y Ambiental
Facultad de Ingeniera
Interaccin dinmica suelo estructura ICYA 4416, 2017-20

* Marcador asterisco x Marcador equis


r Color rojo
g Color verde b Color azul
k Color negro

Los anteriores tipos de lnea, marcador y color pueden definirse simultneamente en el comando plot, de la
siguiente manera:

plot(x,y,--*r) Lnea segmentada con marcadores de asterisco, color rojo

Otros comandos de importancia al graficar con MATLAB son:

hold on Permite congelar la grfica actual e ingresar otra serie de datos en la misma grfica.
Si no se especifica ste comando, al graficar la siguiente serie, se sobrescribe la grfica,
perdiendo los anteriores datos

subplot(m,n,p) Permite dividir el espacio del grfico en un arreglo de m x n espacios separados, y escogiendo
el actual por medio del marcador de posicin p. Al declarar el comando subplot seguido del
comando plot, se divide el espacio del grfico, y posteriormente se grafica con el comando
plot en la posicin p del arreglo.

Ejercicio opcional - Ejemplo prctico usando MATLAB


Un edificio de un piso es idealizado por medio de un modelo de dos columnas de longitud Li sin masa
soportando un peso de wi al nivel de la viga infinitamente rgida (Ver Figura E1a). En la Tabla E1 se encuentran
tres configuraciones diferentes caracterizadas por una longitud de columnas y un peso. Suponga que el
coeficiente de amortiguamiento crtico es =5%.
a) Para cada una de las tres estructuras determinar el desplazamiento lateral mximo cuando la
estructura es sometida a un movimiento ssmico caracterizado por el espectro de pseudo-aceleracin
presentado en la Figura E1b.
b) Utilizando la ecuacin de vibracin libre amortiguada para el caso amortiguamiento menor que el
crtico, graficar individualmente la respuesta en vibracin libre de cada una de las tres
configuraciones. Adicionalmente, construir una grfica comparativa. La ecuacin es la siguiente:

+
() = cos( ) + sin( )

Suponga que = 0 / y = 0.10 .


wi Sa (g)
0.625

Ix=18E-6m4 Sa(Tn)=0.3625/Tn
Ec=200GPa Li 0.25
Sa(Tn)=0.25+1.25Tn

0.30 0.58 T (seg)


(a) (b)
Figura E1

ICYA 4416 Segundo semestre de 2017 Pgina 6


Departamento de Ingeniera Civil y Ambiental
Facultad de Ingeniera
Interaccin dinmica suelo estructura ICYA 4416, 2017-20

Tabla E1
ID Li (m) wi (kN)
1 2.50 200
2 3.50 250
3 3.75 300

ICYA 4416 Segundo semestre de 2017 Pgina 7

S-ar putea să vă placă și