You are on page 1of 20

Nociones de MatLab

C O N T E N I D O

I. Objetivo
II. Antecedentes
III. Material y Equipo
IV.Desarrollo de la Prctica
V. Hoja de Resultados
VI. Anexo

I. Objetivo
Al finalizar la prctica el estudiante utilizar los comandos bsicos de MATLAB para el manejo
de funciones de transferencia, para graficar funciones as como para el anlisis de sistemas de
control.
II. Antecedentes
El estudiante deber contar con conocimientos matemticos relativos a los cursos de lgebra,
Ecuaciones Diferenciales, conocer el manejo matemtico de los sistemas lineales invariantes en el
tiempo as como las bases de la solucin numrica de problemas matemticos. Deber contar con
conocimientos bsicos de programacin en algn lenguaje de alto nivel. Se recomienda que cuente
con una computadora con la versin R2007a de MATLAB.
III. Material y Equipo
Computadora PC y software MatLab.
IV. Desarrollo de la Prctica
IV.1 Introduccin
MATLAB es el nombre abreviado de MATriz LABoratory. MATLAB es un programa para
realizar clculos nmericos con vectores y matrices. Como caso particular puede tambin trabajar
con nmeros escalares tanto reales como complejos-, con cadenas de caracteres y con otras
estructuras de informacin complejas. Una de las capacidades ms atractivas es la de realizar una
variedad de grficos en dos y tres dimensiones, tiene tambin un lenguaje de programacin propio.
La capacidad de clculo de MATLAB se basa en sus mltiples funciones (comandos). En esta
prctica se mostrar la utilidad de algunas de ellas.
MATLAB es un gran programa de clculo tcnico y cientfico. Para ciertas operaciones es muy
rpido, cuando puede ejecutar sus funciones en cdigo nativo con los tamaos ms adecuados para
aprovechar sus capacidades. En otras aplicaciones resulta bastante ms lento que el cdigo
equivalente desarrollado en C/CC++ o Fortran. MATLAB dispone de un cdigo bsico y de varias
libreras especializadas (toolboxes).
En las diferentes reas de la ingeniera, la simulacin de sistemas y procesos se ha convertido en una
herramienta indispensable, tanto para el anlisis como para el diseo de sistemas. En la mayora de
los casos el proceso de simulacin reduce el tiempo de diseo y permite anticipar el comportamiento
de sistemas y procesos antes de su construccin, reduciendo, por ende, el costo de desarrollo y
evitando posibles desperdicios. De la gran variedad de programas, que pueden hacer simulaciones y
clculo numrico intensivo, en el mercado se ha elegido a MATLAB, para las actividades de
anlisis y diseo de sistemas de control, debido al uso tan extendido del mismo y al desempeo
mostrado en muchas reas de ingeniera y ciencias.
Por lo que, adems de los anlisis tericos en la enseanza del control automtico, ser necesario
mostrar al alumno el manejo adecuado de matlab con el fin de complementar su formacin en lo
que respecta a las soluciones numricas y de simulacin.
IV.2 Iniciando
Para iniciar el programa haga un doble clic sobre el icono (MATLAB R2008a) del programa. Al
abrir MATLAB hay una pantalla con tres ventanas (figura 1). Esta es la vista que se obtiene
eligiendo la opcin Desktop / Layout / Default, en la barra de herramientas. Como esta configuracin
puede ser cambiada fcilmente por el usuario, es posible que en muchos casos aparezca muy
diferente.
La parte ms importante de la ventana inicial es la Command Window, que aparece en la parte
derecha. En esta sub-ventana es donde se ejecutan los comandos de MATLAB, a continuacin del
prompt (aviso) caracterstico (>>), que indica que el programa est listo para recibir instrucciones.

La primera ventana de la izquierda, es la ventana de arranque Current Directory, en donde se


muestran los archivos del directorio activo actual, haciendo doble clic sobre alguno de los archivos
*.m se abre el editor de archivos de MATLAB. Se puede alternar con Workspace haciendo clic en la
pestaa correspondiente, contiene la informacin sobre todas las variables que se hayan definido en
la sesin.
La segunda ventana a la izquierda Command History muestra los ltimos comandos ejecutados en
la Command Window. Estos comandos se pueden volver a ejecutar haciendo doble clic sobre ellos.
Haciendo clic sobre un comando con el botn derecho del ratn se muestra un men contextual con
las posibilidades disponibles en ese momento. Para editar uno de estos comandos hay que copiarlo
antes a la ventana Command Window.

Fig. 1 Pantalla de MATLAB R2007a


Es posible recuperar comandos anteriores de MATLAB y moverse por dichos comandos con el ratn
y con las flechas y . Al pulsar la primera de dichas flechas aparecer el comando que se haba
introducido inmediatamente antes. De modo anlogo es posible moverse sobre la lnea la lnea de
comandos con las flechas y , ir al principio de la lnea con la tecla Inicio, al final de la lnea
con Fin, y borrar toda la lnea con Esc. Recordar que slo hay una lnea activa (la ltima).
Para salir de MATLAB cuando sea pertinente use los comandos quit o exit, elegir Exit MATLAB
en el men File o utilizar cualquiera de los medios de terminar una aplicacin en Windows.
Para borrar todas las salidas anteriores de MATLAB y dejar limpia la Command Window se puede
utilizar las funciones clc y home. La funcin clc (clear console) elimina todas las salidas anteriores,
mientras que home las mantiene, pero lleva el prompt (>>) a la primera lnea de la ventana.
MATLAB dispone del comando hepl con el que se puede encontrar la informacin que se desee,
observe la respuesta a los usos del comando:
>> help
>> help lang
>> help comando, ejemplo >> help sin

IV.3 Manteniendo un record del trabajo realizado en el espacio de


trabajo
Comando diary
El comando diary permite guardar la sesin de trabajo registrada en el espacio de trabajo para su
posterior edicin con algn editor de textos.
Introduzca la siguientes lneas.
>> diary sesion
>> x=9,v=[cos(x),sin(x),tan(x),exp(x),log(x),log10(x)]
>> v; cos(x), sqrt(141), log(x)
>> diary
Con el explorador de Windows revise el subdirectorio de trabajo de matlab, deber encontrar un
archivo de texto nombrado sesion. Abra dicho archivo con el block de notas (o con el editor de
matlab), deber observar la secuencia de comandos y los resultados obtenidos con matlab.
Regrese al espacio de trabajo e introduzca
>> diary
>> x=10;y= x*57
>> diary
Con el explorador de Windows abra nuevamente en archivo sesion. Describa su contenido?, qu
utilidad puede tener el comando diary?
IV.3.1 Comandos Save y Load
El comando save salva todas las variables del espacio de trabajo, mientras que el comando load
recupera las variables guardadas por save. El archivo creado por save no se puede editar. MatLab
automticamente agrega la extensin *.mat.
Teclee
>>A=1,B=2,C=3
>>save numeros
Observe la ventana Current Directory
Con el explorador de Windows revise el archivo variables en el subdirectorio de trabajo de matlab.
Para recuperar los resultados de una sesin anterior se teclea el comando:
>>load numeros
>>whos
>>A,B,C
Introduzca la siguiente lnea. >> clear A -Para borrar una (A) de las variables del espacio de trabajo.
>> whos Para verificar que la variable borrada no aparezca en el espacio de trabajo. Deber
aparecer una lista de variables sin la que se acaba de borrar.
>>load numeros Para cargar las variables guardadas por save en el archivo variables.
>> whos Observar la lista y verificar que la variable borrada reapareci.
IV.4 Matlab como calculadora
Los operadores matemticos bsicos son: + (suma), - (resta), * (multiplicacin), / (divisin), y ^
(potenciacin)
a). Introduzca la siguiente operacin. >> 2 + 3/4*5 con lo que obtendr
ans = 5.7500
b). matlab sigue las siguientes prioridades (comprubelas introduciendo las operaciones indicadas
despus del promt):
1. Cantidades entre parntesis, por ejemplo: 2 + (3+4) = 2 + 7 = 9.
2. Potencias, esto es: 2 + 3^2 = 2 + 9 = 11
3. * /, De izquierda a derecha: 8/2*3 = 4*3 = 12

4. + -, De izquierda a derecha 5 3 + 7 = 2 +7 = 9
IV.5 Variables
La sintaxis general de MATLAB es la siguiente:
El programa MATLAB hace diferencia entre maysculas y minsculas.
En matlab se pueden crear y modificar variables con la siguiente estructura: escalar, vector, matriz y
cadenas.
a) Defina las siguientes variables escalares R, L y C, asignndoles los siguientes valores
>> R=220; C=0.33e-6; L=20e-3; con stos comandos se asigna el valores numricos a las
variables R, C y L.
Ejecute la siguiente lnea de comando >> whos; describa el resultado mostrado en la pantalla
b) Defina una variable en forma de cadena
>> y=cadena
sta lnea de comando asigna a la variable y una cadena de caracteres. ste
tipo de variables se utilizan , principalmente, para la transferencia de datos (informacin) entre
funciones y/o rutinas de programacin.
Ejecute la siguiente lnea de comando >> whos; describa el resultado mostrado en la pantalla
En los clculos de matlab se pudo observar que el resultado se presenta en la variable ans, dicha
variable se puede utilizar para realizar otros clculos, por ejemplo introduzca la siguiente operacin
(despus del promt) ans*5 y obtendr ans = 45 (respuesta que se obtiene siguiendo la secuencia antes
propuesta).
Los nombres vlidos para las variables deben iniciar con una letra y pueden ser cualquier
combinacin de letras y caracteres alfanumricos, sin espacios. Se debe decir, en ste punto, que
existen algunos nombres slo utilizados por matlab, como el nmero pi, eps, y la variable imaginaria
(i y j).
IV.6 Funciones elementales
Matlab reconoce las funciones trigonomtricas sin(x), cos(x) y tan(x) (con las funciones inversas
asin(x), acos(x) y atan(x)), donde x = argumento debe ser radianes para las funciones directas.
Introduzca la siguiente lnea, despus del promt: >> sin(0.5236), deber obtener como resultado ans
= 0.5
Introduzca la siguiente lnea, despus del promt: >>cos(1.0472), deber obtener como resultado ans =
0.5
Las funciones sqrt, exp, log, log10 son algunas otras de las funciones que puede ejecutar matlab.
Introduzca la siguiente lnea, despus del promt: >> x = 9, sqrt(x), exp(x), log(sqrt(x)), log10(x^2+6)
, deber obtener los siguientes resultados parciales (presentados en forma vertical): 3, 8.1031e+03,
1.0986, 1.9395.
IV.7 Estructura de los Datos en MatLab
Ingreso de datos
La forma de ingresar los datos, puede ser de alguno de los tipos siguientes: Un escalar, un vector o
una matriz
Un slo dato, por ejemplo A=8.7 es un escalar.
Si una matriz tiene un solo rengln (escribiendo los caracteres separados por comas o espacios) o una
sola columna (escribiendo los caracteres separados por punto y coma), entonces se ingres un vector;
conocidos como un vector rengln o un vector columna. B=[12.56 36.47]

Matriz
El tamao de una matriz se especifica por el nmero de renglones y de columnas; as,
matriz de 3x3. Un dato de una matriz se puede identificar por los subndices; as
dato 90 de la matriz
de m x n valores; as,

es una

representa el

, si una matriz contiene m renglones y n columnas, entonces contiene un total


es una matriz de tamao 3x3.

ESTILO
Matlab es sensible a la diferencia entre maysculas y minsculas, as que los nombres Dato, DATO
y dato representan tres variables distintas.
DEFINICIN DE UNA MATRIZ
La forma ms sencilla de definir una matriz es usar una lista de nmeros, como:
A=[8.7]
B=[12.56 36.47]
La matriz W se puede ingresar como:
W=[1 34 90; 59 12 67; 22 -9 37]
W =[1 34 90
59 12 67
22 -9 37]
PUNTOS SUSPENSIVOS
Si hay demasiados nmeros en un rengln de una matriz para que
quepan en una lnea, podemos continuar la instruccin en la siguiente lnea, pero se requiere una
coma y tres puntos al final de la lnea para indicar que la rengln debe continuar.
Ejemplo:
H=[-2,0,-3,4,-3,-4,5,0,0,2,1,1,1,3,4,-0.2]
Que tambin se puede escribir como:
H = [-2,0,-3,4,-3,-4,...
5,0,0,2,1,1,1,3,4,-0.2]
MATLAB tambin permite definir una matriz que ya se defini:
Ejemplo:
B =[1.5,4.1]
D = [-4,B] este comando equivale a
D = [-4,1.5,4.1]
Tambin podemos modificar los valores de una matriz o agregar valores adicionales usando una
referencia a un lugar especfico. Por ejemplo:
D(3) = 6
Cambia el tercer valor de la matriz D del valor 4.1 por 6, para quedar como:
D = [-4,1.5,6]
As tambin logramos extender una matriz definiendo nuevos elementos.
Si ejecutamos el siguiente comando
D(4)=2.5; La matriz D tendr cuatro valores en lugar de tres, as D se ver como
D = [-4, 1.5, 6, 2.5];

Escriba las siguientes sentencias:


1.- B=[2;4;6;10]

% Lo que define un vector columna.

2.- C=[5,3,5;6,2,-3]

% Lo que define una matriz de 2x3.

3.- E=[3,5,10,0;0,0,...
0,3;3,9,9,8]

% La coma y tres puntos para continuar la lnea.

4.- T=[4,24,9]
Q=[T,0,T]

% Intercala el valor de 0 entre los dos vectores.

5.- V=[C(2,1);B]

% De la matriz C selecciona el valor de

y lo agrega al vector B

6.- A(2,1)=-3

% Crea una matriz A y le asigna el Valor de -3 al elemento

El operador de dos puntos es til para generar matrices nuevas;


Si se usa el operador dos puntos para separar dos enteros, el operador de dos puntos generara todos
los enteros entre los dos enteros especificados.
n=1:10

% Este operador es especialmente til


para generar los ndices de tiempo de
una seal en tiempo discreto.

Tambin se usa el operador dos puntos para separar tres nmeros, el operador de dos puntos
generar valores entre el primer nmero y el tercero, usando el segundo nmero como incremento:
t=0.0:0.5:6.0

% Este operador es especialmente til


para generar los ndices de tiempo
continuo o un dominio de una funcin
analgica.

El incremento tambin puede ser negativo


r =15:-1:0
Funciones especiales para generar matrices nuevas.
El comando size devuelve dos argumentos
C= [1, 2, 3; 4, 2, 5];
D = ones(size(C))
Operaciones con escalares, vectores y matrices:
Ingrese el enunciado de asignacin siguiente;
a=3;
b=[2,6,4];
c=[4,10,2];
los vectores y matrices pueden multiplicarse por un escalar:

a*b
ans es el nombre dado a un resultado cuando el usuario no le asigna un nombre.
Un escalar puede sumarse a un vector o matriz:
a+c
La suma de un escalar a un vector o matriz slo aade el escalar a cada elemento del vector o matriz
la resta se define de manera similar:
a-b
Los vectores y matrices se suman (o restan) como lo hacemos en matemticas, esto es, los dos
vectores o matrices deben tener la misma forma para sumarse o restarse a menos que uno de ellos sea
un matriz de 1*1, un escalar, como lo vimos antes:
b+c
c-b
Los vectores y las matrices se multiplican de acuerdo a las reglas del lgebra matricial:
b*c
Este resultado ilustra un error comn en Matlab. Las matrices deben ser conformables para ser
multiplicadas utilizando el operador *. La premultiplicacin de un vector rengln de 1x3 como c por
un vector rengln de 1x3 como b no est definida. Sin embargo si c se transpusiera a un vector
columna 3x1, se definira la multiplicacin. La transposicin se efecta con el operador ' (apostrofe).
c'
b*c'
este es el producto bcT.
Operaciones elemento por elemento:
A menudo es muy til multiplicar dos vectores o matrices de la misma forma, elemento por
elemento en vez de utilizar las reglas usuales de la multiplicacin de matrices. Ese tipo de
multiplicacin se denomina multiplicacin del arreglo en Matlab y se lleva a cabo utilizando el
operador .*
Las operaciones elemento por elemento, u operaciones de arreglos, no slo se aplican a operaciones
entre dos matrices del mismo tamao, si no tambin a operaciones entre un escalar y un no escalar.
As pruebe las instrucciones de cada uno de los siguientes juegos:
A=[4,3,2,4,6];
C=3.*A
G=A./5
Las vectores resultantes C y G tendrn el mismo tamao que A.
A fin de ilustrar las operaciones de arreglos para vectores, considere los dos siguientes vectores
rengln:
B=[-6,3,-2,4,6];
Calculemos el producto de arreglos de A y B usando las siguientes instrucciones:
L=A.*B
El comando de divisin de arreglos,

F=A./B
Asimismo la exponenciacin de arreglos tambin es una operacin elemento por elemento ejemplos;
Z=A.^2
M=A.^B
Tambin podemos usar una base escalar con un exponente vector
como;
P=3.^A
Los ejemplos anteriores utilizaron vectores, pero las mismas reglas se aplican a matrices con
renglones y columnas, como lo podrs constatar declarando la matriz 'd' ejecutando las operaciones
indicadas:
d=[1:6;-1:-1:-6];
f=d.*6
w=d.^2
IV.8 Polinomios y Funciones de Transferencia
MatLab representa a los polinomios como si fueran vectores, los cuales contienen los
coeficientes del polinomio ordenados de la mayor a la menor potencia. Por ejemplo, para el
polinomio, s 3 + 2 s 2 + 3s + 4 se debe crear el vector
p = [1 2 3 4];
Las races de la ecuacin algebraica que se obtiene al igual el polinomio a cero se pueden obtener
utilizando la instruccin
roots(p)
si se cuenta con las races se puede formar el vector que representa al polinomio en MatLab
mediante la instruccin poly( [ ] ), por ejemplo
p2 = poly([-1 -2])
Para evaluar el polinomio en un punto se utiliza la instruccin
ps=polyval(p,s)
donde p es el vector que representa al polinomio en MatLab y s es el punto en el cual se desea
evaluar. Puede evaluarse al polinomio en un conjunto de valores si s se define como un vector.
Para la multiplicacin de polinomios se maneja la instruccin
c =conv([1 1],[12])
y para la divisin:
d = deconv([1 3 2],[1 1])
Para que MatLab presente el en forma de fraccin se utiliza
printsys(num, den)

IV.9 Representaciones Grficas


IV.9.1 GRAFICA x-y:
Grficas x vs. y sencillas. Suponga que se desea graficar los resultados de un experimento, y se
cuenta con una tabla de datos.
x
y
1
158.5
2
93.8
3
84.2
4
77.3
5
111.5
6
88.3
7
100.1
8
65.6
9
90.5
10
149.4
Pruebe generar esta grfica: creando un vector llamado x con los Si se agrega un tercer argumento en
el comando datos:
x = [1 2 3 4 5 6 7 8 9 10];
y un vector llamado y con los datos:
y = [158.5 93.8 84.2 77.3 111.5 88.3 100.1 65.6 90.5 149.4];
plot (x, y)
Se genera automticamente la grfica.
Tambin es posible dibujar una retcula sobre la grfica mediante el uso del comando:
grid
IV.9.2 Trazado de funciones elementales
Suponga que deseamos trazar una grfica de una funcin particular, por ejemplo y = cos( 2.5 x ) .
Para hacer el trazado suponga que muestreamos la funcin en un nmero suficiente de puntos y
despus los unimos por lneas rectas. Tomaremos N+1 puntos espaciados una distancia constante h.
Introduzca la siguiente lnea >> N=10, h = 1/N, x=0:h:1 Para definir el nmero de muestras, el
espaciamiento entre muestras y la variable de argumento de la funcin a graficar. Ejecute las
siguientes lneas de comando.
>> y = cos(2.5*pi*x);
>> plot(x,y)
Mantenga la grfica (no la borre) e introduzca la siguiente lnea >> figure Para abrir una nueva
ventana para la siguiente figura. Ejecute las siguientes lneas de comando.
>> N=30, h = 1/N, x=0:h:1;
>> y = cos(2.5*pi*x);
>> plot(x,y)
Observe las figuras obtenidas (se pueden visualizar las dos al mismo tiempo). Justifique las
diferencias entre stas.

Introduzca el comando >> grid Revise las grficas y describa el cambio realizado por el comando
grid. A qu grfica afect el comando grid?, Cmo se puede afectar a las dos grficas con el
comando grid?
V.9.3 Etiquetado, estilos y colores de lneas.
Los siguientes comandos permiten documentar un resultado grfico, poniendo ttulo y etiquetas para
ambos ejes coordenados.
Para etiquetar y poner ttulo a una grfica introduzca los siguientes comandos
>> title(Grafica de prueba)
>> xlabel (Etiqueta para el eje x)
>> ylabel(Etiqueta para el eje y)
A qu grfica afectaron los comandos?, Cmo se puede afectar a las dos grficas con los
comandos?
Estilos y colores de lneas para las grficas
Con el fin de hacer a las grficas ms atractivas y distinguibles se pueden introducir comandos en
matlab que permiten cambiar el color y el tipo de lnea de la grfica.
Introduzca la siguiente lnea.
>> plot (x,y,m-)
title escribe un ttulo en la parte superior para nombrar a la grfica.
xlabel permite escribir un nombre al eje x de la grfica.
ylabel permite escribir un nombre para el eje y de la grfica.
legend
indica lo que representa cada curva de la grfica.
plot ste define el color y el estilo de la grfica. Es una cadena la que determina el color de la lnea,
estilo de la misma y los smbolos (si los hay) utilizado para los puntos de marca, por tanto intente dar
elegancia a su grafica anterior agregando al comando plot:
plot(x,y,'ro');grid
Pruebe algunos cambios en color y tipo de lnea para la grfica que venimos trabajando, de acuerdo
con la Tabla 1.
LISTA DE CARACTERES
COLOR
y
m
c
r

amarillo
magenta
cian
rojo

MARCADOR
.
o
x
+

g
b
w
k

verde
azul
blanco
negro

*
s
d
v
^

punto
circulo
marca x
ms

ESTILO DE LINEA
continua
:
punteada
-.
guin-punto
-Discontinua
(guionada)

asterisco
cuadrado
diamante
triangulo(hacia
abajo)
triangulo (hacia
arriba)

Las grficas generadas con matlab se pueden almacenar e incluir en otros archivos en diferentes
formatos. En la ventana de la grfica seleccione el men despleglable File y elija la opcin
Export, elija algn formato, por ejemplo .bmp, y exporte la grfica.

V.9.4 Graficas lineales y logartmicas:


La mayor parte de las grficas que generamos dan por hecho que los ejes x vs. y se dividen en
intervalos espaciados uniformemente; estas grficas se llaman grficas lineales. Una escala
logartmica (de base 10) es til cuando una variable abarca varios rdenes de magnitud.
Los comandos MATLAB para generar grficas lineales y logartmicas de los vectores x y y son los
siguientes
plot(x,y)
semilogx(x,y)
semilogy(x,y)
loglog(x,y)

Genera una grfica lineal con los valores de x y y.


Genera una grfica de los valores de x y y usando una escala logartmica para
x y una escala lineal para y.
Genera una grfica de los valores de x y y usando una escala lineal para x y
una escala logartmica para y.
Genera una grfica de los valores de x y y usando escalas logartmicas tanto
para x como para y.

V.9.5 Graficas mltiples:


Una forma sencilla de generar curvas mltiples en la misma grfica es usar mltiples argumentos en
un comando de graficacin, como en
plot(t,x,t,y)
Al ejecutarse este programa, se traza la curva correspondiente a x versus t, y luego
se traza en la misma grafica la curva correspondiente y versus t.
Cdigo No.1
v1=[0:0.001:.7979];
w1=298;
q=1.6022e-19;
n=1.5;
k=1.38e-23;
num1=q.*v1;
den1=n*k*w1;
M1=num1./den1;
x1=1e-9.*exp(M1);
v2=[0:0.0001:.6379];
w2=358;
num2=q.*v2;
den2=n*k*w2;
M2=num2./den2;
x2=1024e-9.*exp(M2);
plot(v1,x1,'b',v2,x2,'r');title('Ecuacin del diodo'); legend('TEMPERATURA 298 K',
'TEMPERATURA 358 K');grid
V.9.6 Subgrficas:
El comando subplot permite dividir la pantalla de grficos en ventanas. Las posibles divisiones
pueden ser dos ventanas o cuatro ventanas o incluso 8 ventanas en una hoja.. Los argumentos del
comando subplot son tres enteros: (m, n, p). Los dgitos m y n especifican que la ventana de grficos
se divida en una retcula de m por n ventanas ms pequeas, y el digito p especifica la p-sima
ventana para la grfica actual (donde se ubica esta grafica) . Las ventanas se numeran de izquierda a
derecha y de arriba abajo.
Por ejemplo el siguiente comando subplot(2,1,1);plot(x,y) especifica que la ventana de grficos se
divida en una grafica superior y una inferior ( dos lneas de graficas en una columna ) y que la
grafica actual plot(x,y) se coloque en la ventana superior ver cdigo No. 2.

El siguiente juego de instrucciones genera cuatro graficas que ilustran la funcin del comando
subplot empleando escalas lineales y logartmica.
Cdigo No. 2
t=[0:0.001:1];
f=2;
w=2*pi*f;
x=((1/2).*(1+cos(2*w.*t)));
subplot(2,2,1);plot(t,x,'r','linewidth',2);grid
subplot(2,2,2);semilogx(t,x,'b','linewidth',2);grid
subplot(2,2,3);semilogy(t,x,'r','linewidth',2);grid
subplot(2,2,4);loglog(t,x,'b','linewidth',2);grid
Cdigo No. 3
t=[-6*pi:0.001:6*pi];
w1=2/3;
w2=1/2;
w3=1/3;
x1=2.*sin(w1.*t);
x2=3.*sin(w2.*t);
x3=4.*sin(w3.*t);
plot(t,x1,'b',t,x2,'r',t,x3,'k','linewidth',2);title('Cada
ciclos');grid

senoidal

completa

un

numero

entero

de

IV.10 Ambiente de programacin.


Una poderosa herramienta de propsito general que tiene matlab es la herramienta de programacin,
dicha herramienta se puede utilizar de una forma tan simple como una calculadora aritmtica como
una ambiente de solucin de ecuaciones diferenciales no lineales.
A continuacin se muestran, de manera general, las secuencias de control necesarias para la
programacin. As como, una forma de utilizar el ambiente de depuracin de programas de matlab.
Matlab cuenta con un editor de texto que se utiliza para la edicin y depuracin de programas y/o
funciones de matlab.
Para iniciar el editor de matlab en la pantalla principal elija el men desplegable File y elija la
opcin New. Deber aparecer la pantalla del editor de archivos *.m.
Copie lnea por lnea el siguiente texto al editor de archivos .m de matlab
Cdigo No. 4
% Ejemplo de archivo script que genera las grficas de ptalos de una flor %
theta = -pi:0.01:pi;
rho(1,:) = 2*sin(5*theta).^2;
rho(2,:) = cos(10*theta).^3;
rho(3,:) = sin(theta).^2;
rho(4,:) = 5*cos(3.5*theta).^3;
for k = 1:4
polar(theta,rho(k,:))
end

% Asignacin de una variable (theta)


% Clculo de las componentes

% Grfica de las salidas


% Fin de secuencia y de programa

Limpie el espacio de trabajo con la instruccin


>> clear all
Verifique que el espacio de trabajo est limpio, con la siguiente lnea de comando.
>> whos No deber aparecer alguna variable o constante en el espacio de trabajo

En el men desplegable File (del editor de matlab), elija Save as asigne nombre al archivo, por
ejemplo: tutoprogram.m y slvelo en alguna carpeta conocida. Del men desplegable Debug elija
la opcin Run nom-del-archivo.m o F5 o hacer clic en la punta de flecha de color verde localizada
en la barra de herramientas, deber aparecer una figura que corresponde con el cuarto clculo
expresado en el programa.
Ubique el cursor en cada uno de los renglones del programa, con excepcin de la lnea del comando
for,
Para cada una de las lneas defina un punto de ruptura de programa (Breakpoint). Con el men
desplegable Debug seleccione Set/clear breakpoint. En la extrema izquierda de las lneas
aparecer un punto rojo.
Con el men desplegable Debug elija la opcin Run nom-del-archivo.m. La ejecucin del
programa deber detenerse en la primera lnea con punto rojo, esto es, en la definicin de theta.
Con el men desplegable Debug elija la opcin Step la flecha que indica la lnea a ejecutar se
detendr en la siguiente lnea con punto rojo.
Regrese al espacio de trabajo y revise su contenido con el comando
>> whos deber aparecer la variable theta.
Contine paso a paso la ejecucin del programa, revisando para cada uno de ellos el contenido del
espacio de trabajo. Terminando con las grficas generadas.
Describa brevemente lo que entendi con el programa anterior.

V. Hoja de Resultados
Nombre: _______________________________
Incluya los resultados que se obtienen al correr los cdigos 1, 2, 3 y 4
Vl. Anexo

Comandos de Propsito General


Caracteres y operadores especiales
+
*
.*
^
.^
\
/
.\
./
:
()
[]
.
,

Operador suma.
Operador resta.
Operador multiplicacin.
Operador multiplicacin elemento a elemento.
Operador potencia.
Operador potencia elemento a elemento.
Operador divisin izquierda.
Operador divisin derecha.
Operador divisin izquierda elemento a elemento.
Operador divisin derecha elemento a elemento.
Genera elementos regularmente espaciados en vector rengln.
Indica el argumento de una funcin o el ndice de una matriz. Tiene la ms alta precedencia.
Agrupa los elementos de una matriz.
Punto decimal.
Operacin de continuacin de lnea.
Separa sentencias y elementos declarados en un mismo rengln.

;
%
`
=

Separa columnas y suprime la impresin a pantalla.


Designa un comentario y especifica el formato.
Operador transponer.
Asignacin.

Comandos para administracin de sesin


clc
clear
exist
global
help
lookfor
quit
who
whos

Limpia la ventana de comandos (Command Window).


Limpia la memoria; elimina cualquier variable.
Verifica la existencia de un archivo o variable.
Declara una variable global.
Busca ayuda para el tpico seleccionado.
Busca ayuda para una palabra clave.
Detiene la ejecucin de MATLAB.
Lista las variables actuales.
Lista las variables actuales indicando tipo y caractersticas.

Funciones Matemticas
exp (x)
log (x)
log10 (x)
sqrt (x)
acos (x)
acot (x)
asec (x)
asin (x)
atan (x)
atan2 (y,x)
cos (x)
cot (x)
csc (x)
sec (x)
sin (x)
tan (x)
abs (x)
angle (x)
conj (x)
imag (x)
real (x)
erf (x)
mean (x)
median (x)
std (x)
rand (x)
randn (x)

Funcin exponencial
Funcin logaritmo natural
Funcin logaritmo base 10
Raz cuadrada
ngulo cuyo coseno
ngulo cuya cotangente
ngulo cuya secante
ngulo cuyo seno
ngulo cuya tangente
ngulo cuya tangente (cuatro cuadrantes)
Funcin coseno
Funcin cotangente
Funcin cosecante
Funcin secante
Funcin seno
Funcin tangente
Funcin valor absoluto
ngulo del nmero complejo
Conjugado complejo
Parte imaginaria de x
Parte real de x
Clculo de la funcin error
Clculo del promedio
Clculo de la mediana
Clculo de la desviacin estndar
Genera uniformemente distribuidos nmeros aleatorios entre 0 y 1
Genera normalmente distribuidos nmeros aleatorios

Variables especiales y constantes


ans
eps
i, j

Almacena la respuesta ms reciente.


Exactitud relativa del punto flotante.

La unidad imaginaria 1 .
Inf
Infinito.
NaN Resultado numricamente indefinido (Not a Number).
pi
El nmero .

Comandos de sistema y archivo


cd
date
delete
diary
dir
load
path
pwd
save
type
what
wklread

Cambia el directorio actual


Muestra la fecha actual
Borra un archivo
Enciende/apaga el archivo de registro diario
Lista todos los archivos del directorio actual
Carga variables desde un archivo al espacio de trabajo
Muestra la ruta actual
Muestra el directorio actual
Guarda las variables del espacio de trabajo a un archivo
Muestra el contenido de un archivo
Lista todos los archivos de MATLAB en el directorio
Lee archivos de hojas de clculo .wkl

Comandos para el manejo de matrices


cat
find
lenght
linspace
logspace
max
min
prod
reshape
size
sort
sum

Concatenacin de matrices
Localiza los ndices de los elementos no cero
Calcula el nmero de elementos
Crea vectores linealmente espaciados
Crea vectores logartmicamente espaciados
Regresa la magnitud del elemento ms grande
Regresa la magnitud del elemento ms pequeo
Producto de cada columna
Cambia el tamao de la matriz
Calcula el tamao de la matriz
Ordena cada columna
Suma de cada columna

Matrices especiales
eye
ones
zeros

Matriz identidad
Crea una matriz de slo unos
Crea una matriz de slo ceros

Aritmtica de matrices
cross
dot

Producto cruz
Producto punto

Comandos para la solucin de ecuaciones lineales con matrices


det
inv
pinv
rank
rref

Calcula el determinante de una matriz


Calcula la inversa de una matriz
Calcula la pseudoinversa de una matriz
Calcula el rango de una matriz
Escalonamiento de los renglones de una matriz

Comandos bsicos para graficar en 2D (xy)


axis
fplot
grid
plot
print
title
xlabel
ylabel

Ajusta los lmites de los ejes


Grfica de funciones
Despliega una malla sobre la grfica
Grafica en dos dimensiones (plano xy)
Impresin de la grfica
Agrega ttulo a la grfica
Etiqueta el eje x
Etiqueta el eje y

Formatos de despliegue numrico


format short
format long
format short e
format long e
format bank
format +

Cuatro dgitos decimales (opcin por defecto).


16 dgitos decimales.
Cinco dgitos mas el exponente.
16 dgitos mas el exponente.
Dos dgitos decimales.
Positivo negativo o cero.

format rat
format compact
format loose

Aproximacin racional.
Suprime lneas de entrada.
Reajusta al modo compacto.

Comandos grficos 2D
axes
close
close all
figure
gtext
hold
legend
refresh
set
subplot
text

Crea objetos de los ejes


Cierra la grfica
Cierra todas las grficas
Abre una ventana nueva de figura
Habilita la colocacin de etiquetas con el ratn
Congela la grfica actual
Coloca una leyenda mediante el ratn
Redibuja la grfica en la ventana actual
Especifica propiedades de los objetos grficos
Crea grficas en subventanas de una ventana de figura
Coloca textos en la figura

Comandos grficos especiales


bar
loglog
polar
semilogx
semilogy
stairs
stem

Histograma
Grfico logartmico
Grfico polar
Grfico semilogartmico en x
Grfico semilogartmico en y
Grfico a segmentos
Grfico a espigas

Comandos grficos 3D
contour
griddata
mesh
meshgrid
meshc
meshz
plot3
surf
surfc
waterfall
zlabel

Crea grfica de contorno


Crea superficie tridimensional
Crea malla rectangular
Igual que mesh con contorno
Igual que mesh con lneas verticales
Crea grfica tridimensional con puntos y lneas
Crea grficas tridimensionales con sombreado
Igual que surf con contorno
Igual que mesh con lneas en una sola direccin
Agrega etiqueta en el eje z

Comandos para el manejo de variables simblicas


class
digits
double
ezplot

Regresa la clase de una expresin


Ajusta el nmero de dgitos decimales empleados para variables de precisin
aritmtica
Convierte una expresin a su forma numrica
Genera una grfica a partir de una expresin simblica

findsym
numden
sym
vpa
expand
factor
poly2sym
pretty
simple
simplify
subs
sym2poly
diff
dirac
heaviside
int
limit
symsum
taylor
solve
dsolve
ilaplace
laplace
ifourier
fourier
det
eig
inv
poly

Encuentra las variables simblicas en una expresin simblica


Regresa el numerador y el denominador de un expresin
Crea una variable simblica
Ajusta el nmero de dgitos para evaluar una expresin
Expande la expresin
Factoriza
Convierte los coeficientes de un polinomio a un polinomio simblico
Reescribe la expresin de forma matemtica
Busca la expresin ms simple
Simplifica una expresin empleando las reglas de simplificacin de MAPLE
Sustituye variables en una expresin simblica
Convierte una expresin simblica a polinomial
Derivada de la expresin
Funcin delta de Dirac
Funcin de Heaviside
Integra la expresin
Calcula el lmite de la expresin
Realiza la suma de variables simblicas
Calcula la serie de Taylor
Resuelve ecuaciones simblicas
Resuelve ecuaciones diferenciales simblicas
Calcula la transformada inversa de Laplace
Calcula la transformada de Laplace
Calcula la transformada inversa de Fourier
Calcula la transformada de Fourier
Calcula el determinante simblico
Calcula los eigenvalores de una matriz
Calcula la inversa de una matriz
Calcula el polinomio caracterstico de una matriz

Operadores lgicos y relacionales


==
=

<
<=
>
>=
&
|
~

xor

Igual a
No igual a
Menor que
Menor o igual que
Mayor que
Mayor o igual que
Operador lgico AND (Y)
Operador lgico OR (O)
Operador lgico NOT (NO)
Operador OR EXCLUSIVO

Programacin
break
case
else

Termina la ejecucin de un ciclo


Permite distintos casos dentro de una estructura switch
Delimita bloques de sentencias alternativas

elseif
otherwise
return
switch
warning
while

Sentencia que se ejecuta condicionalmente


Opcin por defecto en la estructura switch
Regreso de invocacin de funcin
Ejecucin directa de un programa por comparacin con la expresin
case
Despliega un mensaje de advertencia
Repite la sentencia por un nmero indefinido de veces