Está en la página 1de 7

TUTORIAL BASICO PARA EL USO BASICO DE MATLAB

La forma ms fcil de crear una matriz es usando una lista


explcita de elementos entre corchetes [ ] y separados
por un espacio o por comas, y colocando al final punto y
coma ( ; ) para indicar el fin del rengln. Si al final del
rengln se pone ( ; ) entonces al dar enter, simplemente
aparecer el siguiente promt ( >> ), pero si se omite el ( ; )
entonces matlab despliega el resultado. Por ejemplo.

Que es MATLAB ?
MATLAB es un programa interactivo para auxiliar en el
anlisis y diseo al ingeniero de control mediante el
calculo numrico y visualizacin de datos. El nombre de
MATLAB se deriva del acrnimo de matrix laboratory.
MATLAB es un sistema interactivo cuyo elemento bsico
es una matriz la cual no necesita que sea dimensionada.
Esto permite resolver una gran cantidad de problemas
numricos en muy poco tiempo comparado con el tiempo
que se llevara escribir un programa en lenguajes como
FORTRAN, BASIC, o C. El primer programa de
MATLAB fue escrito en fortran por Clave Moler, sin
embargo las versiones recientes se han escrito en C y
fueron desarrolladas por The Math Works, Inc. Existen
diferentes toolboxes disponibles, con los cuales se amplia
la potencialidad de MATLAB. El programa Matlab puede
usarse bajo ambiente Unix, Machintosh y Windows.
Adems existe una versin de MATLAB para estudiantes
con la cual se puede iniciar el aprendizaje en el uso y
manejo de este paquete.

>>A=[1 2 3;4 5 6;7 8 9];


Al dar enter, Matlab pondr:
>>
Pero si se escribe sin punto y coma
>>A=[1 2 3;4 5 6;7 8 9]
Al dar enter Matlab despliega en este caso la matriz
escrita, es decir:
A=
1 2 3
4 5 6
7 8 9

1. FUNDAMENTOS
Otra forma de introducir una matriz en Matlab es
escribindola en forma de renglones de la siguiente
manera:

fj v
m

1.1. Escritura de Matrices y/o Vectores.


En el lenguaje de MATLAB no existe la necesidad de
dimensionar las matrices o declarar el tipo de variable a
usar, ya que esto es llevado acabo automticamente por
MATLAB, tanto la declaracin de variables como el
reservar las localidades de memoria necesarias para el
calculo, solamente va ha estar limitado por la
disponibilidad de memoria existe en la PC, la cual varia
de mquina a mquina.
La forma de crear un vector en matlab es colocando entre
corchetes [ ] cada elemento del vector separado por un
espacio, y asignndolo a una variable. Por ejemplo para
un vector a entonces:

>>A=[1 2 3
456
7 8 9]

1.2. Elementos de Matrices.


Los elementos de una matriz en Matlab, pueden contener
cualquier expresin permitida por Matlab, por ejemplo:
>>x=[-1.3 sqrt(3) (1+2+3)*4/5]

>> a=[1 2 3 4 5 6 7 8 9]

como resultado se obtiene:

Matlab regresa:
a=
1 2 3 4 5 6 9 8 7

x=
-1.3 1.7321 4.8000
Elementos individuales de la matriz pueden referenciarse
usando ndices dentro de parntesis. Por ejemplo:

Si se desea crear un vector con elementos entre 0 y 20


separados por incrementos de 2, entonces:

>>x(5)=abs(x(1))
>> t=0:2:20
lo cual produce
t=
0 2 4 6 8 10 12 14 16 18 20

x=
-1.3000 1.7321 4.8000 0.0000 1.3000
1

Si una expresin es muy larga en su escritura se puede


usar un indicativo de continuacin en la siguiente lnea.
Por ejemplo:

Al hacer lo anterior la dimensin de x se incrementa


automticamente ajustndose a la nueva dimensin y
colocando en cero a los elementos intermedios (cuando
este sea el caso)

>>s=1-1/2+1/3-1/4+1/5-1/6+1/7
-1/8+1/9-1/10+1/11-1/12;

Cuando ya existe una matriz y se necesita aumentarle un


rengln, esto se logra haciendo lo siguiente:
** NOTAS IMPORTANTES **
>>A=[A;[10 11 12]]
1 Los nombres de las variables y funciones se forman
por una letra seguida por cualquier numero o letra

Lo cual resulta en:


A=

2 Unicamente los primeros 19 caracteres son


considerados para nombrar una variable

1 2 3
4 5 6
7 8 9
10 11 12

3 Matlab es sensible al uso de maysculas y


minsculas, de tal forma que a y A no son la
misma variable

Se pueden extraer" matrices pequeas de matrices


grandes usando la instruccin siguiente:

Como resultado se obtiene la matriz A del renglon 1 hasta


el renglon 3, es decir:

4 Todas los nombres de las funciones DEBEN de


estas en minsculas, por ejemplo, la funcin
inv(A), invertir la matriz A, pero la instruccin
INV(A), producir un error ya que se esta
haciendo referencia a una funcin llamada INV
que no existe

A=

1.4. Los Comandos who, whos y Valores Fijas

>>A=A(1:3,:)

fj v
m

1 2 3
4 5 6
7 8 9

AL teclear el comando who, Matlab despliega el nombre


de las variables que en ese momento estn activas,
incluyendo la variable ans. Dentro de Matlab existen
valores fijas como eps, pi, Inf y NaN.
El valor eps se usa como tolerancia en determinados
clculos, como por ejemplo en la determinacin del rango
de una matriz o en la inversin de esta. Para conocer su
valor simplemente se teclea >>eps.
El valor de pi es otro valor fijo que contiene matlab y que
se puede usar para hacer clculos ms exactos.
El valor Inf, lo usa Matlab para indicar cuando se realiza
una divisin entre cero, por ejemplo al hacer:

1.3. Declaraciones y Variables.


Las declaraciones en Matlab son generalmente de la
siguiente forma:
variable=expresion
o simplemente
expresin
Las expresiones estn compuestas de operadores y otros
caracteres especiales, de funciones y de nombres de las
variables. La evaluacin de la expresin produce una
matriz la cual se asigna a la variable para usos futuros. Si
el nombre de la variable y e l signo = se omiten, entonces
Matlab asigna el resultado de la expresin a una variable
que crea con el nombre de ans. Por ejemplo:

>>s=1/0
se obtiene:
Warning Divide by Zero
s=
Inf
El valor NaN esta relacionado con Inf, pero se produce su
uso cuando se realizan operaciones tales como Inf/Inf o
0/0.
Para obtener mas detalles sobre las variables que se estn
usando durante una sesin de trabajo en Matlab se teclea
el comando >>whos.

>>1900/81
se produce:
ans=
23.4568

Expresiones Aritmticas.

+
*
/
\
^

se imprimen en pantalla elementos positivos, negativos y


cero. Por ejemplo

Suma
Resta
Multiplicacin
Divisin Derecha
Divisin Izquierda
Potencia

>>x=[5.0 -1.2 0.0 6.3];


>>format+
>>x
Se obtiene como resultado:

Para expresiones escalares = 0.25 y 4\1 = 0.25

x=
+- +

1.5. Nmeros Complejos


Los nmeros complejos estn permitidos en Matlab, para
lo cual se cuenta con los comandos >>j o bien >>i las
cuales tienen un valor de 0 + 1.0000i, por o tanto se
pueden trabajar expresiones como:

1.7. El Comando help


El comando help esta disponible para obtener informacin
en lnea sobre la mayora de los tpicos de Matlab. Para
obtener una lista de los tpicos de ayuda, se teclea:

>>z=3 + 4*j

>> help

>>w=r*exp(i*theta)

Para obtener ayuda sobre algn tpico en especifico se


teclea >>help tpico. Por ejemplo:

1.6. Formatos de Salida

>>help eig

El resultado de cualquier declaracin realizada en Matlab


es mostrado en la pantalla, sin embargo, el formato de los
resultados puede controlarse usando la instruccin format.
El comando format solamente afecta la forma como las
matrices son mostradas en la pantalla mas no como son
usadas durante el calculo, ya que Matlab realiza todos sus
clculos en doble precisin.
Si todos los elementos de una matriz son exactamente
enteros, la matriz se muestra en pantalla de forma tal que
no existan puntos decimales. Por ejemplo:

fj v
m

Como resultado Matlab proporcionara informacin sobre


el uso de la funcin para calcular eigenvalores.
Otra forma de obtener ayuda sobre el comando help es
tecleando:
>> help help

Finalmente para obtener ayuda sobre operadores y


caracteres especiales se teclea:

>>x=[-1 0 1]

>> help ?

entonces el resultado en pantalla es:


1.8. Grabar el Espacio de Trabajo

x=
-1 0 1

El terminar una sesin de Matlab ya sea porque se tecleo


>>quit , >>exit o por que se cerro la venta principal de
trabajo, esto implica que todas las variables que estn en
el espacio de trabajo, se pierdan. Por lo tanto si se desea
guardar en un archivo todas las variables usadas, entonces
se teclea:

Si al menos un de los elementos de una matriz no es


exactamente entero, entonces existen varios formatos para
mostrar los resultados en pantalla. Por default el formato
es short el cual consta de 4 a 5 dgitos despus del punto
decimal. Los otros formatos existentes en Matlab son:

>>save nombre del archivo

>> format short


>> format short e
>> format long
>> format long e
>> format hex
>> format +

o bien se opera sobre la opcin save workspace as en el


men File. Con esto se salvaran todas las variables en un
archivo con extensin .mat.
Para poder usar las variables guardadas en un archivo.mat
se teclea:

La instruccin format+ es una forma compacta de mostrar


matrices. Mediante los smbolos +,- y espacio en blanco,

>> load nombre del archivo


3

70 174 278
110 278 446

Si solamente se necesita guardar algunas de las variables,


entonces se teclea por ejemplo:

>>D=C*B
>> save vari X u A
D=
107
122
137
152

con esto se estn salvando las variables X, u y A en el


archivo llamado vari.

122
140
158
176

137
158
179
200

152
176
200
224

2. OPERACIONES MATRICIALES
2.1. Suma de un escalar a un Vector

2.5. Multiplicacin de Matrices Elemento a Elemento

Por ejemplo, al vector a se desea sumar 2 a cada uno de


sus elementos, entonces:

Otra opcin que tiene Matlab para manipular matrices, es


que se puede realizar la multiplicacin elemento por
elemento de las dos matrices usando el operador ( .* ),
notando que para poder hacer esta operacin las matrices
deben ser de la misma dimensin. Por ejemplo:

>>b=a+2
b=

>>E=[1 2;3 4]
>>F=[2 3;4 5]
>>G=E .* F

3 4 5 6 7 8 11 10 9

2.2. Suma Resta y/o Multiplicacin de Vectores


E=
1 2
3 4

Para sumar, restar o multiplicar dos vectores simplemente


se expresa la operacin respectiva, por ejemplo:
>> c=a+b
c=
4 6 8 10 12 14 20 18 16

fj v
m

F=

2 3
4 5

G=

2.3. Transpuesta de una Matriz

2 6
12 20

Para obtener la transpuesta de una matriz se emplea el


smbolo ( ). Por ejemplo:

2.6. Matriz Elevada a una Potencia

>>C=B

Si te tiene una matriz cuadrada como por ejemplo E, y


se desea elevarla a cualquier potencia, es decir
multiplicarla por si misma una numero de veces dado,
entonces se tiene:

C=
1
2
3
4

5 9
6 10
7 11
8 12

>>E^3
ans=

2.4. Multiplicacin de Matrices

37 54
81 118

Para multiplicar dos matrices (teniendo en cuenta que el


nmero de columnas de la matriz que premultiplica debe
ser igual al nmero de filas de la matriz que
posmultiplica) se tiene:

2.7. Potenciacin de una Matriz Elemento a Elemento


Si se desea que cada uno de los elementos sea elevado a
una cierta potencia entonces se procede como:

>>D=B*C
D=
30

>>E .^3

70 110
4

ans=
1 8
27 64

Matlab cuenta con instrucciones para el control de flujo


como las que tienen la mayora de los lenguajes de
programacin.
2.8. Matriz Inversa
3.1. Ciclo FOR

Para encontrar la inversa de una matriz se tiene:


Matlab cuenta con su propia versin de laso do o for.
Este permite que un grupo de instrucciones sea repetido
un numero determinado de veces. Por ejemplo:
>>for i=1:n, x(i)=, end
Con estas instrucciones, se asigna el valor de cero a los
primeros n elementos del vector x. El ciclo for se lleva a
cabo solamente cuando i sea menor o igual a n.
Los ciclos o lasos for pueden usarse de forma anidada, por
ejemplo:

>>X=inv(E)
X=
-2.0000 1.0000
1.5000 -0.5000

2.9. Eigenvalores de una Matriz


Para encontrar los eigenvalores de una matriz se tiene:

>>for i=1:m,
>> for j=1:n,
>>
A(i,j)=1/(i+j-1);
>> end
>>end

>>eig(E)
ans=
-0.3723
5.3723

Un punto importante es que cada uno de los ciclos for


DEBE tener su correspondiente end.

fj v
m

2.10. Calculo de los Coeficientes del Polinomio


Caracterstico de una Matriz
Para encontrar los coeficientes del polinomio
caracterstico de una matriz, se usa la funcin poly, la
cual crea un vector cuyos elementos son los coeficientes
del polinomio caracterstico, ejemplo:

3.2. Ciclo WHILE

El ciclo while permite repetir un grupo de declaraciones


un numero indefinido de veces, mientras se cumpla la
condicin dada. Por ejemplo:
>> E = 0*A; F = E + EYE(E); N = 1;
>> while norm(E+F-E,1) > 0,
>>
E = E + F;
>>
F = A*F/N;
>>
N = N + 1;
>> end

>>p=poly(E)
p=
1.0000 -5.0000 -2.0000

2.11. Races de un Polinomio


3.3. Condicional IF
Si se recuerda, los eigenvalores de una matriz son las
races de su polinomio caracterstico, por lo tanto:

La instruccin if se utiliza para expresar una condicin en


el desarrollo del programa y entonces tomar una decisin
sobre el flujo del programa. Por ejemplo:

>>roots(p)
ans=

>>if n<o
>>
A=negative(n)
>> elseif mod(n,2) == 0
>>
A=even(n)
>> else
>>
A=odd(n)
>>end

5.3723
-0.3723

Los operadores relacionales existentes en Matlab son:


3. CONTROL DEL FLUJO DE INFORMACIN.
5

Igual
Menor que
Mayor que
Menor o Igual
Mayor o Igual
Diferente

==
<
>
<=
>=
~=

ode23 y
ode45
plot
poly
rank

Los operadores lgicos existentes en Matlab son:


real
&
|
~

AND
OR
NOT

rlocus
roots
size
sqrt
ss2tf

3.4. BREAK

subplot
text

La instruccin break termina la ejecucin de un laso o


ciclo. En lasos anidados la instruccin break debe
terminar nicamente el ciclo mas interno

tf2ss
zeros

4. Algunos Comandos de Matlab


Comando
Descripcin
Valor Absoluto.
abs
Traza el diagrama de Bode, (ver, logspace,
bode
margin, nyquist1).
Matrz de prueba de contrlabilidad del
ctrb
sistema.
Calcula el determinante de una Matriz.
det
Calcula los eigenvalores de una Matriz.
eig
Tolerancia numrica usada por MATLAB.
eps
Forma la matriz identidad
eye
Ciclo Iterativo.
for
Formato de los resultados.
format
Traza la cuadricula sobre una grfica.
grid
Agrega texto a una grfica, (ver, text)
gtext
Ayuda
help
Ejecuta declaraciones bajo condicin.
if
Regresa la parte imaginaria de un numero
imag
complejo, (ver, real).
Prompt para usar como entrada.
input
Calcula la inversa de una Matriz.
inv
Obtiene la dimensin de un vector, (ver,
length
size)
Logaritmo
Natural,
tambin
log10
log
(logaritmo de base 10).
Traza grficas en escala log-log, tambin
loglog
semilogx/semilogy
Regresa el margen de Ganancia, el margen
margin
de Fase y la frecuencia de cruce.
Norma de un vector
norm
Regresa un vector o una matriz con unos,
ones
(ver, zeros)
Matriz de pruba de observabilidad del
obsv

sistema.
Solucin de ecuaciones diferenciales.
Traza una grfica, (ver, figure, axis,
subplot).
Regresa el polinomio caracterstico.
Encuentra el numero de renglones o
columnas linealmente independientes de
una matriz.
Regresa la parte real de un numero
complejo.
Traza la ubicacin de las races en el plano.
Calcula las races de un polinomio.
Da la dimensin de un vector o una matriz.
Raz cuadrada
Transforma de espacio de estado a funcin
de transferencia, (ver, tf2ss)
Divide la grfica en varias grficas
Agrega texto a una grfica existente, (ver,
title,xlabel,ylabel,gtext).
Transforma de funcin de transferencia a
espacio de estado.
Regresa un vector o una matriz con ceros.

5. Uso de Archivos-M en Matlab

fj v
m

En MATLAB se pueden teclear los comandos


directamente en el espacio de trabajo, o bien teclear todos
los comandos que sean necesarios en un archivo.m y
despus correr el archivo. Para que Matlab pueda localizar
y ejecutar las instrucciones del archivo.m, es necesario
que este se encuentre en la misma carpeta en donde se
encuentra Matlab o bien crear un archivo personal y
posteriormente anexarlo al archivo de rutas de matlab
path.

6. Ayuda en Lnea
Si se tiene duda sobre el manejo de algn comando de
Matlab, se puede pedir informacin en lnea tecleando en
el espacio principal de trabajo del Matlab, help enseguida
el comando y finalmente enter. Como se muestra en la
figura N 1, al hacer esto se despliega la informacin
necesaria para el comando solicitado (figuras N 2 y N
3).

Figura N 1

La primer lnea del archivo debe contener la sintaxis que


declare que el archivo-m es una funcin. Esto se hace de
la siguiente forma:
function [salida1,salida2] = nombre del
archivo(entrada1,entrada2,entrada3)
A una funcin se le pueden asignar las variables de
entrada y salida que sean necesarias. Las lneas siguientes
despus de la primera pueden ser (es recomendable) de
texto usando %, en las cuales se describa la forma en
que trabaja la funcin, con esto al teclear help nombre
del archivo se desplegara la informacin respectiva a
manera de ayuda. Posteriormente al texto de ayuda se
teclean todos las instrucciones necesarias para el clculo.
A continuacin se muestra un ejemplo muy simple del uso
de una funcin en Matlab. En este ejemplo se realiza la
suma de dos nmeros y se nombra la funcin como
suma y el archivo-m se nombra por lo tanto suma.m:

Figura N 2

Function [variable3] = suma(variable1,variable2)


% suma es una funcin que realiza la suma dos nmeros
variable3 = variable1+variable2;
Si se salvan estas tres lneas en un archivo llamado
suma.m en el directorio de Matlab, se puede usar la
funcin tecleando en la lnea de comandos lo siguiente:

fj v
m

>> y = suma(3,8)

Obviamente, este ejemplo es muy simple, sin embargo


muestra la forma bsica en la cual se pueden crear y usar
funciones en Matlab.

Figura N 3

7. Introduccin a Funciones en Matlab


Cuando se usan comandos en Matlab tales como root, plot
o step, lo que en realidad se est haciendo es corriendo
un archvo-m con entradas y salidas el cual ha sido escrito
previamente para realizar una tarea especifica. Este tipo
de archivo-m es similar a las subrutinas que se usan en los
lenguajes de programacin en los cuales se tienen
entradas (los parmetros que se pasan al archivo-m),
salidas (los valores que son regresados por el archivo-m),
y un bloque de instrucciones las cuales contienen
variables locales. En Matlab estos archivos-m se llaman
funciones. Estos pueden escribirse usando la instruccin
function.
La nueva funcin debe grabarse como un archivo-m, es
decir con extensin .m, con el mismo nombre que se le
asign a la funcin y debe estar en el mismo directorio
donde esta el software de Matlab o en un directorio el cual
este declarado en el archivo de rutas de Matlab.

También podría gustarte