Escolar Documentos
Profissional Documentos
Cultura Documentos
I. OBJETIVO
Analizar el entorno de trabajo MATLAB.
Conocer los fundamentos de MATLAB para aplicarlos en el clculo y grfico de funciones, y en la
implementacin de programas sencillos.
El programa MATLAB
MATLAB es el nombre abreviado de MATrix LABoratory. MATLAB es un programa para realizar clculos
numricos con vectores y matrices. Como caso particular puede tambin trabajar con nmeros escalares,
tanto reales como complejos. Una de las capacidades ms atractivas es la de realizar una amplia variedad de
grficos en dos y tres dimensiones. MATLAB tiene tambin un lenguaje de programacin propio. Este manual
hace referencia a la versin 5.3 de este programa, aparecida a comienzos de 1999.
MATLAB se puede arrancar como cualquier otra aplicacin de Windows 95/98/NT/XP, clicando dos veces en
el icono correspondiente o por medio del men Inicio.
MATLAB 6.5.lnk
En la ventana inicial se sugieren ya algunos comandos para el usuario inexperto que
quiere echar un vistazo a la aplicacin. En dicha ventana aparece tambin el prompt caracterstico de
MATLAB (). Esto quiere decir que el programa est preparado para recibir instrucciones. Puede hacerse que
aparezca un saludo inicial personalizado por medio de un fichero de comandos personal que se ejecuta cada
vez que se entra en el programa (el fichero startup.m, que debe estar en un directorio determinado, por
ejemplo C:\Matlab, o G:\Matlab.
MATLAB dispone de un excelente Help con el que se puede encontrar la informacin que se desee.
Puede acceder al Help en la barra de mens de la ventana principal de MATLAB
Adems, se puede tambin recurrir al Help desde la lnea de comandos. Se aconseja hacer prcticas al
respecto. Por ejemplo, obsrvese la respuesta a los siguientes usos del comando help:
help
help lang
El comando helpwin seguido de un nombre de comando muestra la informacin correspondiente a ese
comando en la ventana Help Window , incluyendo tambin comandos similares sobre los que se ofrece
ayuda.
El comando doc seguido de un nombre de comando muestra la informacin correspondiente a ese comando a
travs de Netscape Navigator o Internet Explorer, en formato HTML.
Laboratorio de Circuitos Elctricos 2 Pgina: 2/14
El entorno de trabajo de MATLAB ha mejorado mucho a partir de la versin 5.0, hacindose mucho ms
grfico e intuitivo. Los componentes ms importantes del entorno de trabajo de MATLAB son: el editor de
caminos de bsqueda (Path Browser), el editor y depurador de errores (Editor & Debugger) y el visualizador
del espacio de trabajo (Workspace Browser). A continuacin se describen brevemente estos componentes.
bien este entorno de trabajo. Es por ello muy importante leer con atencin las secciones que siguen.
MATLAB puede llamar a una gran variedad de funciones, tanto propias como programadas por los usuarios. A
veces puede incluso haber funciones distintas que tienen el mismo nombre. Interesa saber cules son las
reglas que determinan qu funcin o qu fichero *.m es el que se va a ejecutar cuando su nombre aparezca
en una lnea de comandos del programa. Esto queda determinado por el camino de bsqueda (search path)
que el programa utiliza cuando encuentra el nombre de una funcin.
El search path de MATLAB es una lista de directorios que se puede ver y modificar a partir de la lnea de
comandos, o utilizando el Path Browser. El comando path hace que se escriba el search path de MATLAB
(el resultado depende de en qu directorio est instalado MATLAB):
path
MATLABPATH
c:\matlab\toolbox\local
c:\matlab\toolbox\matlab\datafun
c:\matlab\toolbox\matlab\elfun
c:\matlab\toolbox\matlab\dde
c:\matlab\toolbox\matlab\demos
c:\matlab\toolbox\wintools
Para ver cmo se utiliza el search path supngase que se utiliza la palabra nombre1 en un comando. El
proceso que sigue el programa para tratar de conocer qu es nombre1 es el siguiente:
Laboratorio de Circuitos Elctricos 2 Pgina: 3/14
6. Comprueba si hay ficheros llamados nombre1.mex, nombre1.dll o nombre1.m en los directorios incluidos
en el search path de MATLAB.
Estos pasos se realizan por el orden indicado. En cuanto se encuentra lo que se est buscando se detiene la
bsqueda y se utiliza el fichero que se ha encontrado. Conviene saber que, a igualdad de nombre, los ficheros
*.mex tienen precedencia sobre los ficheros *.m que estn en el mismo directorio.
El concepto de directorio actual es importante en MATLAB. Para cambiar de directorio actual se utiliza el
comando cd (de change directory), seguido del nombre del directorio, para el cual se puede utilizar un path
absoluto (por ejemplo cd C:\Matlab\Ejemplos) o relativo (cd Ejemplos). Para subir un nivel en la jerarqua de
directorios se utiliza el comando cd .., y cd ../..para subir dos niveles. MATLAB permite utilizar tanto la barra
normal (/) como la barra invertida (\).
El Path Browser es el programa que ayuda a definir la lista de directorios donde MATLAB debe buscar los
ficheros de comandos y las funciones, tanto del sistema como de usuario. Con el comando Set Path del men
File aparece el cuadro de dilogo en el cual se muestra la lista de directorios en la que MATLAB buscar. Para
aadir (o quitar) un directorio a esta lista se debe ejecutar el comando Add to Path (o Remove Path) en el
men Path de dicho cuadro de dilogo, con lo cual aparece un nuevo cuadro de dilogo. El nuevo directorio
se puede aadir al comienzo o final de la lista. El orden de la lista es muy importante,porque refleja el orden de
la bsqueda: si unafuncin est en dos directorios, se utilizar la que primero se encuentre.
Para incluir desde la lnea de comandos de MATLAB un directorio nuevo al comienzo del search path, se
utiliza tambin el comando path, que concatena dos listas de directorios (slo se deben utilizar directorios que
realmente existan en el PC), como por ejemplo:
path('c:\ce2\matlab', path)
path(path, 'c:\ce2\practicas')
Laboratorio de Circuitos Elctricos 2 Pgina: 4/14
El comando addpath permite aadir uno o ms directorios al search path. Su forma general puede verse en los
siguientes ejemplos:
donde la opcin por defecto (cuando no se pone ni -begin ni -end) es aadir al comienzo de la lista.
Despus de ejecutar estos comandos conviene comprobar cmo ha quedado modificado el search path
(recurdese que los directorios deben existir en realidad). No es difcil borrar las lneas que se han introducido: por
una parte, los cambios no son permanentes y dejarn de surtir efecto al salir de MATLAB y volver a entrar (salvo
que se guarden como opciones estables). Adems se puede utilizar el comando rmpath (de remove path), al que
se le pasan la lista de directorios a eliminar del search path. Por ejemplo, el comando:
El search path inicial o por defecto de MATLAB est contenido en un fichero llamado matlabrc.m, en el sub-
directorio toolbox\local. Este fichero contiene tambin muchos otros parmetros de inicializacin y es por ejemplo
el responsable del mensaje que aparece al arrancar el programa. Este fichero se ejecuta automticamente al
arrancar MATLAB.
En las instalaciones de MATLAB en red, matlabrc.m es un fichero controlado por el administrador del sistema.
Una de las cosas que hace este fichero es ver si en algn directorio del search path existe otro fichero llamado
startup.m, y en caso de que exista lo ejecuta. Esto abre la posibilidad de que cada usuario arranque MATLAB de
una forma personalizada.
De forma anloga, al abandonar la ejecucin de MATLAB con el comando quit se ejecuta automticamente el
fichero finish.m, siempre que se encuentre en alguno de los directorios del search path. Este fichero se puede
utilizar por ejemplo para guardar el espacio de trabajo de MATLAB
En MATLAB tienen particular importancia los ficheros-M (o M-files). Son ficheros de texto ASCII, con la extensin
*.m, que contienen conjuntos de comandos o definicin de funciones (estos ltimos son un poco ms
complicados). La importancia de estos ficheros-M es que al teclear su nombre en la lnea de comandos y pulsar
Intro, se ejecutan uno tras otro todos los comandos contenidos en dicho fichero.
Laboratorio de Circuitos Elctricos 2 Pgina: 5/14
MATLAB dispone de un editor que permite tanto crear y modificar estos ficheros, como ejecutarlos paso a paso
para ver si contienen errores (proceso de Debug o depuracin).
El Editor muestra con diferentes colores los diferentes tipos o elementos constitutivos de los comandos (en verde
los comentarios, en rojo las cadenas de caracteres, etc.). El Editor se preocupa tambin de que las comillas o
parntesis que se abren, no se queden sin el correspondiente elemento de cierre.
La ejecucin de un fichero de comandos es controlada con el Debugger. Dicha ejecucin se comienza eligiendo el
comando Run en el men Tools o tecleando el nombre del fichero en la lnea de comandos. Los puntos rojos que
aparecen en el margen izquierdo son breakpoints (puntos en los que se detiene la ejecucin de programa); la
flecha amarilla indica la sentencia en que est detenida la ejecucin; cuando el cursor se coloca sobre una
variable aparece una pequea ventana con los valores numricos de esa variable.
Puede apreciarse que en la Figura 8b est activada la segunda barra de herramientas, que
corresponde al Debugger. El significado de estos botones, que aparece al colocar el cursor sobre
Clear All Breakpoints. Elimina todos los breakpoints que haya en el fichero.
Step In. Avanzar un paso, y si en ese paso hay una llamada a una funcin de usuario,
Single Step. Avanzar un paso sin entrar en las funciones de usuario que se llamen en
esa lnea.
Stack. En esta lista desplegable se puede elegir el contexto, es decir el espacio de trabajo o el mbito de las
variables que se quieren examinar. Ya se ver que el espacio de trabajo base (el de las variables creadas desde la
lnea de comandos) y el espacio de trabajo de cada una de las funciones son diferentes.
El Debugger es un programa enormemente til para detectar y corregir errores, que hay que conocer muy bien.
Para ello lo mejor es practicar.
que el primero. Por ejemplo, despus de ejecutar el fichero de comandos Prueba01.m, la salida del comando
whos es la siguiente:
whos
stas son las variables del espacio de trabajo base (el de la lnea de comandos de MATLAB). Cada funcin tiene
su propio espacio de trabajo, con variables cuyos nombres no interfieren con las variables de los otros espacios de
trabajo.
IV. PROCEDIMIENTO
1.USO DE HELP
1.1.Con ayuda de HELP de matlab explique al detalle los siguiente.:
1.1.1. >>A=rand(6), B=inv(A), B*A
Crea una matriz A de 6x6 con valores aleatorios ; crea una matriz B que es la inversa de la matriz A ; multiplica la
matriz A por la matriz B
A=
B=
ans =
1.1.2
>>x=-4:.01:4;y=sin(x);plot(x,y),grid,title(Funcion seno(x))
Funcion seno(x)
1
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
-4 -3 -2 -1 0 1 2 3 4
1.1.3. >>A=rand(3),b=rand(3,1),C=inv(A),x=C*b
A=
0.7513 0.6991 0.5472
0.2551 0.8909 0.1386
0.5060 0.9593 0.1493
b=
0.2575
0.8407
0.2543
C=
-0.0003 -4.6562 4.3244
-0.3549 1.8235 -0.3924
2.2812 4.0629 -5.4356
x=
-2.8150
1.3419
2.6210
A=
1 2 3
4 5 6
Laboratorio de Circuitos Elctricos 2 Pgina: 8/14
7 8 9
2.4
>> t = [0: 0.1: 10] genera un vecor fila t que va de 0 a 10 con incrementos de 0.1
2.5
>> t = linspace (0, 10,11) genera un vector de 0 a 10 con 11 elementos
t=
0 1 2 3 4 5 6 7 8 9 10
2.6
>> t = linspace (0,10) genera un vector de 0 a 10 con 100 elementos
2.7
>> t1 = logspace (0, 2,5) produce un vector espaciado logartmicamente de 100 a 102 con 5 puntos
t1 =
1.0000 3.1623 10.0000 31.6228 100.0000
2.8
>> t1 = logspace (0,2) produce un vector espaciado logartmicamente de 100 a 102 con 50 puntos
2.9
p(s)=s3+2s2+3s+4 se representa como p=[1 2 3 4]
p=[1 2 3 4]
p=
1 2 3 4
2.10
>>r=roots(p) encuentra las races del polinomio
r=
-1.6506
-0.1747 + 1.5469i
-0.1747 - 1.5469i
2.11
>> p2 = poly ([-1 -2]) forma un polinomio partiendo de sus races
p2 =
1 3 2
2.12
>> polyval (p, 2.5) evalua un polinomio en un punto dado
ans =
39.6250
2.13
>> x = [1 2]; y = [8 10]; z = conv (x,y) multiplica polinomios
z=
8 26 20
2.14
>> [q,r] = deconv([1 3 2], [1 4]) divide polinomios
q=
1 -1
r=
0 0 6
Laboratorio de Circuitos Elctricos 2 Pgina: 9/14
2.15
>> y = [ 0 0.5 0.75 1 0.8 0.4 0.01]; plot (y)
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6
2.16
>> x = 0:0.05:5:5; y = sin(x.^2); plot(x,y);
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
2.17
>> x1 = [0 : 0.3 : 10]; x2 = 0:.3 : 20 ; x3 = [1 : 30];
y1= sin(x1); y2 = cos(x2); y3 = log(x3);
plot (x1, y1, x2, y2, x3, y3)
Laboratorio de Circuitos Elctricos 2 Pgina: 10/14
3.5
2.5
1.5
0.5
-0.5
-1
0 5 10 15 20 25 30
0.5
-0.5
-1
0 100 200 300
300
200
100
-100
0 50 100 150 200 250
10000 10000
y
y
5000 5000
0 0
0 20 40 60 -2 0 2
10 10 10
5
polinomio lineal/log 5
polinomio log/log
10 10
y
0 0
10 10
0 20 40 60 -2 0 2
10 10 10
x x
escaln unitario
2
1.8
1.6
1.4
1.2
u(t)
0.8
0.6
0.4
0.2
0
-2 -1 0 1 2 3 4 5
tiempo
3.2 . Aplique MATLAB y construya un programa que permita realizar el siguiente grafico :
Laboratorio de Circuitos Elctricos 2 Pgina: 12/14
1.8
1.6
1.4
1.2
u(t-2)
0.8
0.6
0.4
0.2
0
-1 0 1 2 3 4 5
tiempo
>>t= -2:.01:5;
>>T = 0;
>> x = stepfun(t,T);
>> plot(t,x)
>> xlabel('tiempo');ylabel('u(t-2)');axis([-1 5 0 2])
3.3
>> % grafica de escaln unitario u(t)
>>t= -6:0.01:6;
>>T = 0;
>> x = stepfun(t,T);
>> plot(t,x)
>> xlabel('t');ylabel('x(t)');axis([-6 6 0 1.5])
Laboratorio de Circuitos Elctricos 2 Pgina: 13/14
1.5
1
x(t)
0.5
0
-6 -4 -2 0 2 4 6
t
t= -6:0.01:6;
x1= stepfun(t,-4);
x2=stepfun(t,4);
x3=x1-x2;
x4=sin(t);
subplot(311); plot(t,x); xlabel('t');ylabel('x1(t)');axis([-6 6 0 1.5]);
subplot(312); plot(t,x1-x2); xlabel('t');ylabel('x2(t)');axis([-6 6 0 1.5])
subplot(313); plot(t,x3.*x4); xlabel('t');ylabel('x3(t)');axis([-6 6 -1 1])
Laboratorio de Circuitos Elctricos 2 Pgina: 14/14
1.5
1
x1(t)
0.5
0
-6 -4 -2 0 2 4 6
t
1.5
1
x2(t)
0.5
0
-6 -4 -2 0 2 4 6
t
1
x3(t)
-1
-6 -4 -2 0 2 4 6
t
Observaciones y conclusiones
En este laboratorio se aprendio el uso elemental del MATLAB con algunas funciones principales
Realizamos operaciones en MATLAB
Se aprendio a hacer graficas como ; Escalon Unitario , Rampa Unitaria e Impulso Unitario.