You are on page 1of 35

Gu Rpida del Uso de Matlab

a a
J. Daniel Ortiz P.

1 Profesor Horario
Instituto de Estudios Superiores (IES-UNI)
Managua, Nicaragua, C.A

3 de abril de 2014

.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

QUE ES MATLAB?
A continuacin se presenta una breve exposicin de los elementos
o
o
esenciales del lenguaje MATLAB, con el propsito de facilitar la
o
creacin de variables usuales en Dinmica de Estructuras, as como
o
a

las rutinas incorporadas en el lenguaje para poder ejecutar los


programas que sern presentados en el curso y para que los
a
participantes sean capaces de escribir sus propios programas.

.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

QUE ES MATLAB?
En la prctica de Ingenier Sismo-resistencia, es muy comun la
a
a
u
utilizacin del lenguaje MATLAB debido a su facilidad de
o
programacin, que fundamentalmente radica en su manejo de
o
matrices y vectores como objetos, lo que hace que los programas
tengan una extensin mucho menor que sus equivalentes en
o
lenguajes de alto nivel, como PASCAL, BASIC, C o FORTRAN.

.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

QUE ES MATLAB?
MATLAB es una de las muchas sosticadas herramientas de
computacin disponibles en el comercio para resolver problemas de
o
matemticas, tales como Maple, Mathematica y MathCad.
a
A pesar de lo que arman sus defensores, ninguna de ellas es la
mejor. Todas tienen fortalezas y debilidades. Cada una
permitir efectuar clculos matemticos bsicos, pero dieren en el
a
a
a
a
modo como manejan los clculos simblicos y procesos
a
o
matemticos ms complicados, como la manipulacin de matrices.
a
a
o
Por ejemplo, MATLAB es superior en los clculos que involucran
a
matrices, mientras que Maple lo supera en los clculos simblicos.
a
o
El nombre mismo de MATLAB es una abreviatura de MATrix
LABoratory, laboratorio matricial.
En un nivel fundamental, se puede pensar que estos programas son
sosticadas calculadoras con base en una computadora.
.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

QUE ES MATLAB?
En muchas aplicaciones de ingenier la realizacin de clculos con
a,
o
a
un programa de computacin matemtico como MATLAB
o
a
sustituye la programacin de computadoras ms tradicional. Esto
o
a
no signica que se pueda prescindir de lenguajes de alto nivel como
C++ o FORTRAN, sin embargo programas como MATLAB se han
convertido en una herramienta estndar para ingenieros y
a
cient
cos.
MATLAB se escribi originalmente en FORTRAN y despus se
o
e
rescribi en C, precursor de C++. Por lo general, los programas de
o
alto nivel no ofrecen acceso fcil a la gracacin, que es una
a
o
aplicacin en la que destaca MATLAB.
o
MATLAB est disponible en versiones profesional y estudiantil.
a
Actualizndose de manera regular; en esta clase usaremos la
a
versin MATLAB R2009a. Quizs no existan diferencias
o
a
signicativas entre versiones ms recientes, pero en versiones
a
. . . . . . . . . .
anteriores a MATLAB 5.5 existen diferencias sustanciales. . . . . .
. .

J. Daniel Ortiz P.

Gu Rpida de Matlab
a a

. . . .

. . . .

. . . .

.
.

.
.

. .
. .

Figura: Ventana de apertura de MATLAB

.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

En MATLAB existen dos modalidades de trabajo que son la


modalidad consola y la modalidad rutina.
MATLAB: Modalidad Consola
En la modalidad consola aparece el prompt (>>) cada vez que se hace una operacin.
o
Loss clculos se realizan de forma inmediata por medio de los comandos adecuados.
a
Se pueden escribir matrices, vectores y variables en consola y despus utilizarlos en los
e
programas que se hacen en la otra modalidad.

MATLAB: Modalidad Rutina


En la modalidad rutina no aparece el prompt (>>) pero en su lugar cada una de las
l
neas estn numeradas. Es en esta modalidad donde se realizan los programas y al
a
estar numeradas cada una de las l
neas se facitlita la correccin de errores. Una vez
o
que se termina de escribir el programa se graba con un nombre. MATLAB
automticamente a este nombre de archivo le asigna la extensin (.m).
a
o

Tanto en la modalidad consola como en la modalidad rutina, si al


nal de una sentencia se coloca (;) no se imprimen los resultados.
Si se omite el punto y coma si aparecern los resultados en
a
pantalla.
.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

Nociones bsicas de MATLAB


a
Las caracter
sticas ms importantes de MATLAB son su manejo
a
directo de vectores, matrices y cadenas de caracteres como
objetos; su posibilidad de trabajar con nmeros reales o complejos
u
indistintamente; la no exigencia de declarar variables y arreglos
para reserva de memoria; y la posibilidad de combinar matemtica
a
simblica con numrica, entre otras. Todo esto, aunado a la
o
e
disponibilidad de mltiples funciones matemticas ya programadas
u
a
y librer especializadas (los famosos toolboxes) hacen que los
as
programas escritos en MATLAB sean altamente compactos en
comparacin con los equivalentes en FORTRAN, C, PASCAL, etc.
o

.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

Nociones bsicas de MATLAB


a
Esto reporta grandes ventajas para la textos de carcter didctico,
a
a
debido a que se facilita el estudio de un programa complejo de
ciencias o de ingenier al ocupar todos los comandos unas pocas
a,
l
neas. Esto es especialmente cierto cuando se manejan vectores y
matrices como bloques enteros, es decir, cuando es necesario
trabajar con sus elementos individuales. En el caso del anlisis de
a
estructuras el manejo de bloques enteros es posible salvo cuando se
requiere ensamblar matrices de rigidez, por ejemplo.

.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

Nociones bsicas de MATLAB


a
Operaciones fundamentales
Vectores y matrices
Funciones
Bucles y decisiones condicionales
Programas
Archivos de datos y resultados
Figuras y Grcos
a

.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

Nociones bsicas de MATLAB: Operaciones fundamentales


a
Creacin de Variables: Una variable se crea en MATLAB
o
asignndole un valor.
a
Un punto y coma (;) al nal de cada instruccin inhibe la
o
presentacin de un resultado en pantalla.
o
A continuacin trabajaremos con operaciones aritmticas
o
e
bsicas.
a

.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

MATLAB: Operaciones fundamentales


Ejecute las siguientes operaciones desde su teclado...
x=4
y=x2
z=factorial(y)
w=log(z)*1.e-05
format long
w
format long eng
w
format short
w
sin(pi)
MATLAB presentar en pantalla la solucin a cada uno de los clculos que se le
a
o
a
indiquen justo debajo del comando. Nota algo extrao en la solucin presentada para
n
o
la ultima operacin?

o
Una vez que Usted ha asignado un valor a una variable, MATLAB la recuerda por
siempre. Para remover un valor para una variable se puede usar el comando (clear),
por ejemplo, si quiere borrar una variable a, entonces use clear a.
Si se introduce clear y se omite el nombre de la variable, entonces TODO
resultar borrado. No haga eso por ahora, pero esto ser util cuando se requiere iniciar
a
a
nuevos clculos.
a
. . . . . . . . . . . . . . .
.
. .

J. Daniel Ortiz P.

Gu Rpida de Matlab
a a

. . . .

. . . .

. . . .

.
.

. .
. .

Nociones bsicas de MATLAB: Funciones


a
Trabajando con algunas funciones de uso corriente:
Funciones trigonomtricas (sin, cos, tan, etc.,)
e
Ra cuadrada; sqrt, Funcin exponencial: exp; Funciones
z
o
logar
tmicas: log, log10.
Es posible obtener informacin on-line de cada funcin mediante el
o
o
comando help, simplemente se escribe el comando help seguido del
nombre de la funcin sobre la cual se quiere informacin sobre su
o
o
uso o sintaxis de uso.
Por ejemplo si se escribe: help cos, se obtiene
COS Cosine of argument in radians. COS(X) is the cosine of the
elements of X.
Adems de otra informacin adicional, relacionada con el uso de la
a
o
funcin espec
o
ca.
.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

Nociones bsicas de MATLAB: Manuales de Ayuda


a
Los manuales de MATLAB no son particularmente user friendly
(amistosos con el usuario), el algoritmo de bsqueda es pobre y
u
mucho del material presentado en el manual luce como si hubiera
sido escrito por la misma gente que escribi los manuales de
o
FORTRAN en la dcada de los 60. Los contenidos son usualmente
e
ms utiles que la bsqueda.
a
u
Los Demos (la ultima pestaa de men en el navegador de

n
u
bsquea), pueden ser de mucha utilidad ya que con mucha
u
frecuencia puede encontrarse, y copiarse, un ejemplo que es similar
a lo que nosotros estamos intentando realizar.

.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

MATLAB: Vectores y Matrices


Espero que todos recordemos a que nos referimos en Ingenier
a
cuando hablamos de matriz ... Si no, pues no importa mucho,
por ahora pensemos al igual que lo hace MATLAB, es decir que es
suciente que sepamos que una matriz en un conjunto de nmeros
u
arreglados en las y columnas tal como se muestra a continuacin
o

1 5 0 2
5 4 6 6

3 3 0 5
9 2 8 7
Una matriz no necesariamente debe tener el mismo nmero de las
u
y columnas, pero la mayor de matrices con que nos toparemos en
a
este curso (y en general, en Ingenier Civil) son matrices
a
cuadradas.

.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

MATLAB: Vectores y Matrices


Creacin de un vector con elementos dados: Un vector la se crea en la forma
o
a=[1 2 3 4];
Si se trata de un vector columna, se puede crear como
a=[1; 2; 3; 4];
o bien como
a=[1 2 3 4];
El s
mbolo () denota transposicin matricial. La multiplicacin de todos los elementos
o
o
de un vector por un escalar es simple:
a=[1 2 3 4];
b=2*a
b=
2
4
6
8
.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

MATLAB: Vectores y Matrices


Creacin de un vector con intervalos regulares. El comando
o
t=linspace(1,10,5)
t=
1.0000 3.2500 5.5000 7.7500 10.0000
crea un vector la de 5 elementos regularmente espaciados entre 1
y 10. Esta instruccin se utiliza corrientemente para crear un vector
o
de abscisas en las cuales se ha de evaluar una funcin determinada.
o
linspace genera vectores linealmente espaciados. Es similar al
operador (:) u operador dos puntos, pero ofrece control directo
sobre el nmero de puntos. Es sumamente util para la creacin de
u

o
vectores de frecuencia.
Por defecto linspace(x1, x2) genera un vector de 100 puntos
linealmente espaciados entre x1 y x2.
.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

MATLAB: Operaciones con Vectores y Matrices


Dados los dos vectores presentados a continuacin, realice las
o
operaciones siguientes:
a= [1 2 3 4] ;
b= [4 3 2 1] ;
Suma de dos vectores, c=a+b
Producto escalar de dos vectores, @ = = >
Encuentre el(los) valor(es) mximo(s) de los vectores a y b
a
Encuentre el(los) valor(es) m
nimo(s) de los vectores a y b
En relacin con el producto escalar de dos vectores, haremos una
o
exposicin ms a detalle.
o
a

.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

MATLAB: Operaciones con Vectores y Matrices


Creacin de una matriz. Las matrices se crean de manera similar a los vectores:
o
m1=[1 2 3; 6 5 4;3 1 3]

1 2 3
6 5 4
m1 =
3 1 3
Un elemento de una matriz se extrae de acuerdo a la notacin usual en matemticas:
o
a
m1(2,3)
ans =
4
Se utiliza (:) para denotar todos los elementos de una la o de una columna. Por
tanto, m1(2,:) entrega la segunda la de la matriz m1, mientras que m1(:,3) hace lo
propio con la tercera columna:
m1(2, :)
ans =
654
m1(:,3)
ans =
3
4
3

.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

MATLAB: Matrices especiales


Algunas matrices especiales de uso frecuente son la de ceros, la de unos y la idntica:
e
zeros(3,3)
ans =
0 0 0
0 0 0
0 0 0
ones(3,3)
ans =
1 1 1
1 1 1
1 1 1
eye(3)
ans =
1 0
0 1
0 0

0
0
1

.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

MATLAB: Suma y producto de matrices


A continuacin cree la matriz m2 y realice las operaciones de suma y producto de dos
o
matrices, como se indica a continuacin:
o

0,2190 0,6793 0,5194


m2 = 0,0470 0,9347 0,8310
0,6789 0,3835 0,0346
m3=m1+m2

1,2190
m3 = 6,0470
3,6789

2,6793
5,9347
1,3835

m4=m1*m2

2,3496
m4 = 4,2644
2,7405

3,6992
10,2833
4,1231

3,5194
4,8310
3,0346

2,2851
7,4096
2,4929

.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

MATLAB: Suma y producto de matrices


Es necesario recordar que el producto de dos matrices de dimensiones (m, n) y (p , q )
debe respetar la norma n = p , De lo contrario el producto no es factible:
m6=[2 2; 2 2]
(
)
m6 = 2 2
2 2
Ya que al querer efectuar el producto (m1*m6), nos da como resultado el siguiente
mensaje de error:
m1*m6 ??? Error using ==> * Inner matrix dimensions must agree.
Pues debemos recordar que:

1 2 3
m1 = 6 5 4
3 1 3
Podemos apreciar que el orden de m1 es (3x3), mientras que el orden de m6 es (2x2),
por lo tanto el producto de estas dos matrices no es posible y se produce la condicin
o
de error que detiene la ejecucin de MATLAB o de un programa que contenga dicha
o
condicin.
o

.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

MATLAB: Inversa de una matriz


En MATLAB, mediante el comando inv(X) se obtiene la inversa de la matriz cuadrada
X. Si la matriz X est mal escalada o si es singular, entonces se obtiene un mensaje
a
tipo warning (advertencia). As para la matriz:

1 2 3
m1 = 6 5 4
3 1 3
con el siguiente comando obtenemos su inversa:
m5=inv(m1)

0,3929
m5 = 0,2143
0,3214

0,1071
0,2143
0,1786

0,2500
0,5000
0,2500

Debe recalcarse, que en la prctica muy rara vez es necesario la forma expl
a
cita de la
inversa de una matriz. Un mal uso, muy frecuente, del comando inv se da al resolver
un sistema de ecuaciones lineales Ax = b . Una de las formas de resolver esto es con
x = inv (A) b. Una mejor forma, desde el punto de vista de la precisin numrica, es
o
e
usar el operador de matrix de division, x = A \ b . Al usar el operador de matrix de
division, \ se calcula la llamada descomposicin LU de la matriz A y luego obtiene el
o
vector de incgnitas x . La descomposicin LU est denida como la obtencin de dos
o
o
a
o
matrices, una triangular inferior L (por lower, en ingls) y otra superior U (upper, cuyo
e
producto es igual a A. Esta tcnica es preferible para resolver grandes sistemas de
e
ecuaciones simultneas que el mtodo de la matriz inversa.. . . . . . . . . . . . . . . .
a
e
. .

J. Daniel Ortiz P.

Gu Rpida de Matlab
a a

. . . .

. . . .

. . . .

.
.

. .
. .

MATLAB: Solucin a sistemas de ecuaciones lineales


o
Como mencionamos anteriormente, MATLAB es muy potente en la resolucin de
o
sistemas de ecuaciones lineales. Por ejemplo, consideremos el siguiente sistema de
ecuaciones lineales:
3x1 + 4x2 + 7x3
5x1 + 2x2 9x3

x1 + 13x2 + 3x3

Este sistema de ecuaciones, puede expresarse en forma matricial en la forma Ax=b

3
4
7
x1
6
2
9 x = x2 b = 1
A= 5
1 13
3
x3
8
Para resolver esto en MATLAB, simplemente se introduce lo siguiente:
A = [3,4,7;5,2,-9;-1,13,3]
b = [6;1;8]
x=A\b
Note el uso de la barra diagonal inversa y no el uso habitual del signo de division (/).
Puede revisar la respuesta al calcular A*x
Podemos tambin encontrar la solucin de la siguiente manera: x=transpose(b)/A
e
o
La notacin transpose(b)/A, resuelve las ecuaciones xA=b, donde x y b son vectores.
o
Nuevamente, puede vericar su respuesta usando x*A
.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

MATLAB: Valores propios y vectores propios de una matriz


Formemos la matriz simtrica m8, los valores propios eigenvalues, lambda, y los
e
vectores propios eigenvectors, phi, se obtienen de la manera siguiente
m8=[1 2 3; 2 4 5; 3 5 6]

1 2 3
2 4 5
m8 =
3 5 6
[phi,lambda]=eig(m8)

phi =

0,7370
0,3280
0,5910

0,5910
0,7370
0,3280

0,3280
0,5910
0,7370

lambda =
0,5157
0
0

0
0,1709
0

0
0
11,3448

.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

MATLAB: Valores propios y vectores propios de una matriz


Si la matriz no es simtrica los autovalores y autovectores son complejos, sea la
e
matriz: m9=[1 2 3; 6 4 5; 7 9 6]

1 2 3
6 4 5
m9 =
7 9 6
[phi , lambda] = eig (m9)

phi =

0,2610
0,5389
0,8009

0,3421 0,4484i
0,2867 + 0,4227i
0,6488

0,3421 + 0,4484i
0,2867 0,4227i
0,6488

lambda=
14,3366
0
0

0
1,6683 + 1,0262i
0

0
0
1,6683 1,0262i

.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

MATLAB: Funciones
Las funciones en MATLAB se pueden tratar directamente como vectores o matrices, lo
cual implica grandes ahorros de l
neas de codicacin. Por ejemplo, si un vector de
o
tiempo es:
t=linspace(0,0.5,5)
t=
0 0.1250 0.2500 0.3750 0.5000
y una frecuencia angular es igual a 2
w=2*pi
entonces la funcin
o

r = cos (t ) es el vector

r=cos(w*t)
r=
1.0000 0.7071 0.0000 -0.7071 -1.0000

.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

MATLAB: Funciones
De manera semejante se calculan otras funciones, sin importar si la variable
dependiente es un vector o una matriz:
m1 =
1 2
6 5
3 1

3
4
3

exp(m1)
ans =
2,7183
403,4288
20,0855

7,3891
148,4132
2,7183

20,0855
54,5982
20,0855

cos(m1)
ans =
0,5403
0,9602
0,9900

0,4161
0,2837
0,5403

0,9900
0,6536
0,9900

.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

MATLAB: Bucles y decisiones condicionales


El bucle for end es la estructura de MATLAB adecuada para hacer clculos
a
vinculados a
ndices en general. Por ejemplo, el clculo del factorial de un nmero (en
a
u
este caso, 10) se hace de la siguiente forma:
nfact=1;n=10;
for i=1:n;
nfact=nfact*i;
end;
nfact
nfact =
3628800
Se puede suspender la ejecucin de un bucle for end por medio de la instruccin
o
o
break. Por ejemplo, la secuencia de instrucciones, calcula solamente cuatro valores:
nfact=1;n=10;
for i=1:n;
if i==5;
break;
;end
nfact=nfact*i;
end;
nfact
nfact =
24
.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

MATLAB: Bucles y decisiones condicionales


La estructura de condicionamiento lgico es if elseif else end, que se explica
o
aqu con respecto a la denicin de la funcin de signo:

o
o

1, si x < 0

y = sgn(x ) = 0, si x = 0

1,
si x > 0
Denamos la variable siguiente:
x=3
x=
3
entonces la secuencia:
if x <0; y=-1; elseif x==0; y=0; else; y=1; end
y
y=
1
Nos da el valor y=1 puesto que x=3 es positivo. Pruebe Usted para diferentes valores
de x.
.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

MATLAB: Programas
Un programa en MATLAB se constituye como un archivo tipo M
(*.m). Su creacin se hace en un editor de texto cualquiera en
o
formato ASCII. La edicin puede comenzar directamente con una
o
serie de l
neas de cdigo, caso en el cual el programa siempre
o
dar los mismos resultados, o bien comenzando con una
a
instruccin del tipo
o
function [resultados]=nombre(datos)
En esta descripcin, [resultados] es un grupo de resultados que se
o
espera del programa y que quedan disponibles para el uso por
consola (pantalla), cuyos nombres estn separados por comas:
a
[a,b,c], donde a,b,c pueden ser escalares, vectores, matrices o
cadenas alfanumricas. De la misma manera se da al programa el
e
conjunto [datos]. El nombre del programa debe coincidir con el del
archivo.
.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

MATLAB: Programas
Como ejemplo, el siguiente programa crea un vector f cuyos elementos son los
factoriales de sus nmeros ordinales de posicin; es decir, f = [1!, 2!, ..., n!]
u
o
function [f]=fact(n)
[f] =fact (n)
Calcula un vector cuyos elementos son los factoriales desde 1 hasta n
nfact=1;
for i=1:n;
nfact=nfact*i;
f(i)=nfact;
end;
El programa se activa con la orden
[f]=fact(n):
[f]=fact(5)
f=
1 2 6 24 120
.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

MATLAB: Programas
Si escribimos en la consola help fact obtenemos
help fact
%
%
%
%
%

[f] =fact (n)

Calcula un vector cuyos elementos son los


factoriales desde 1 hasta n

que son las l


neas que aparecen entre el encabezado del programa y
la primera l
nea de comandos, comentadas con el signo de
porcentaje. En general, el comando help da esta informacin para
o
cualquier programa tipo M escrito, bien por los desarrolladores
originales de MATLAB, o bien por un usuario cualquiera como
cada uno de nosotros.
.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

MATLAB: Archivos de datos y resultados


Un archivo de datos en formato ASCII se puede importar al
programa por medio de la instruccin load:
o
load datos.dat;
Por su parte un archivo de clculos se puede guardar con la
a
instruccin save:
o
save resultado.res;
Las diversas posibilidades de esos dos comandos las exploraremos
posteriormente cuando manipulemos archivos de acelerogramas.

.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

MATLAB: Figuras y Grcos


a
Una descripcin de las mltiples y hasta cierto punto incre
o
u
bles
posibilidades de creacin de guras y grcos de tipo tcnico con
o
a
e
MATLAB ocupar centenas de pginas. En esta gu y para
a
a
a
efectos del curso nos limitaremos a los elementos bsicos de
a
elaboracin de guras bidimensionales. Como ejemplo haremos
o
inicialmente varios grcos de funciones trigonomtricas lo mismo
a
e
que grcos de problemas conocidos para nalizar con la
a
representacin de la grca del acelerograma de un sismo.
o
a

.
. .

J. Daniel Ortiz P.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

Gu Rpida de Matlab
a a

.
.

.
.

. .
. .

You might also like