Sie sind auf Seite 1von 33

Tutorial de MATLAB

Mtro. Juan Gustavo Ruiz


Barajas agosto 2011
1

Tutorial de MATLAB
LEAN CON DETENIMIENTO LOS PRRAFOS SIGUIENTES Y NO
INTENTE INTRODUCIR DATOS HASTA QUE SE LE INDIQUE:
Matlab es una herramienta poderosa usada por ingenieros y
cientficos de todo el mundo para resolver diversos problemas
que requieren clculos complejos bajo una secuencia de
instrucciones y respaldado por una compaa de software
Profesional: The Math Works Inc.
La parte de este taller esta orientado para que el estudiante
tenga capacidad de graficar seales.
Su contenido se enumera a continuacin:
1.- Matrices y operadores.
2.- Funciones y comandos propios de Matlab.
3.-Graficacin de seales.

Tutorial de MATLAB

Sobre las pantallas que aparecen al


abrir el programa:
Al abrir MATLAB normalmente aparecen tres pantallas (versin 6.0 en
adelante) :
1.- La primera de la izquierda (launch pad) en donde se localizan todos los
directorios y demos.
2.- La segunda abajo a la izquierda (command history) en la parte inferior
donde se genera un histrico de los comandos y variables que se usan.
3.- La tercera de la derecha (command window) se considera la pantalla
principal y es precisamente donde se declaran las variables y comandos
de un programa en la cual se ubica el smbolo . Ver Fig.1.

Tutorial de MATLAB

Fig. No. 1 Pantallas de MATLAB versin 6.0


4

Tutorial de MATLAB
EL INDICADOR :
command

El smbolo en la pantalla principal (


window) nos indica que MATLAB esta

esperando

que introduzcamos un comando o una

variable.

Para salir de MATLAB cuando sea

pertinente use

los comandos quit o exit.


ESCALAR, VECTOR Y MATRIZ:
denomina escalar.
una sola fila o
vector; para ser
vector columna.
Matriz :
-2

A = 2.5 Un slo dato se


B = 2.5, 6.4 Si una matriz tiene
una sola columna, la llamamos
ms claros llamamos vector fila o
5

El tamao de una matriz se especifica

Tutorial de MATLAB

ESTILO
Matlab es sensible a la diferencia entre maysculas y
minsculas, as que los nombres Espacio, ESPACIO y espacio
representan tres variables distintas.
Matlab tiene la posibilidad de manejar nmeros reales (ejem. 12.7 10-2
se escribe 12.7 e-2 ) el nmero complejo de parte real 5 y parte
imaginaria 2 se representa en matlab 5+2*i o como 5+j*2, las letras
i y j se preasignan ambas en matlab para ser Iguales a -1. otras
constantes son pi para .

DEFINICIN DE UNA MATRIZ


La forma ms sencilla de definir una
matriz
es usar una lista de nmeros, como :
A = [4.5]
B = [1.6, 3.1]
C = [-2,0,3; 3,-4,5; 0,0,2]
6

Tutorial de MATLAB
PUNTOS SUSPENSIVOS
Si hay demasiados nmeros en una fila
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 fila debe continuar.
Ejemplo:
H = [-2,0,-3,4,-3,-4,5,0,0,2,1,1,1,3,4,-0.2]
que se puede escribir
como:
H = [-2,0,-3,4,-3,-4,...
5,0,0,2,1,1,1,3,4,-0.2]
MATLAB tambin nos permite definir una matriz que ya se defini:
Ejemplo:
B =[1.5, 4.1]
D = [-3, B] este comando equivale a
D = [-3,1.5,4.1]

Tutorial de MATLAB

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 = [-3,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 = [-3, 1.5, 6, 2.5];
El punto y coma ; termina la instruccin y oculta la exhibicin del
resultado de la operacin.
Teclee D = [-3, 1.5, 6, 2.5]
ahora
Teclee D = [-3, 1.5, 6, 2.5];
8

Tutorial de MATLAB
AHORA SI EMPIECE A TECLEAR DATOS Y COMANDOS DE LOS
SIGUIENTES EJERCICIOS SLO TECLEA LOS VECTORES NO
ESCRIBAS EL COMENTARIO %
El punto y coma ; termina la instruccin y oculta la exhibicin del resultado de la
operacin.
Teclee
D = [-3, 1.5, 6, 2.5]
ahora
Teclee D = [-3, 1.5, 6, 2.
B = [ 2; 4; 6; 10]
C = [ 5, 3, 5 ; 6, 2, 3 ]
E = [ 3, 5, 10, 0; 0, 0 , ...
0, 3; 3, 9, 9, 8 ]

% DEFINE UN VECTOR COLUMNA.


% DEFINE UNA MATRIZ 2 x 3.
% COMA Y TRES PUNTOS PARA CONTINUAR
UNA LINEA.

T = [ 4, 24, 9 ]
Q = [ T, 0, T ]
V = [ C ( 2, 1); B ]
A (2, 1) = - 3

% INTERCALA UN VALOR DE CERO ENTRE


DOS VECTORES.
% DE LA MATRIZ C SELECCIONA EL
VALOR (m, n) Y LO AGREGA AL VECTOR B.
% CREA UNA MATRIZ LLAMADA A Y LE
ASIGNA EL VALOR DE 3 EN (m, n)

Tutorial de MATLAB
Lee los siguientes comentarios y prueba su validez:
El operador de dos puntos es til para generar matrices nuevas;
Si se usa un signo de dos puntos para separar dos enteros, el operador de
dos puntos generara todos los enteros entre los dos enteros especificados.
tecle:
n = 1 : 10
ndices

% Este operador es especialmente til para generar los


de tiempo de una seal de tiempo discreto.

Tambin se usan los signos de 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:
tecle:
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
tecle:
10
r = 15:-1:0

Tutorial de MATLAB
EN LO SUSECIVO TRATE EN CADA EJEMPLO DONDE LO CREA ADECUADO
DE PROBAR LA AUTENTICIDAD DE LOS COMANDOS
Funciones especiales para generar matrices nuevas.
La funcin size devuelve dos argumentos escalares que representan el
nmero de filas y el nmero de columnas, podemos usar size para
generar una matriz de ceros que tenga el mismo tamao que la otra
matriz ejemplo:
Tecle
W = [ 4, 3, 2; 4, 6, 3 ];
F= zeros(size ( W ) )
La funcin ones genera una matriz que solo contiene unos.
Tecle
C= [1, 2, 3; 4, 2, 5];
D = ones(size(C))
Algunas ocacines es necesario conocer que variables se hallan
definidas y que valores tienen almcenados el comando who lleva a cabo
esta accin:
Tecle who
Si desea dejar una variable sin definicin (sacarla de la lista ) se utiliza
el comando: clear.
11

Tutorial de MATLAB
Operaciones con escalares , vectores y matrices: Los operadores
matemticos incorporados que se utilizan con frecuencia en matlab
son:
smbolo
significado
smbolo
significado
=

Asignacin

Adicin

Multiplicacin

.^

Potencia del
arreglo

Potenciacin

./

Divisin del
arreglo

Divisin

&

AND lgica

Operadores
relacionales

NOT logica

OR

Transpuesta

Transpuesta no
conjugada

< >

l
==

lgico

Igualdad

.*

Resta
Multiplicacin de
arreglo

12

Tutorial de MATLAB

Tecle el enunciado de asignacin siguiente;


a=3;
b=[2,6,4];
c=[4,10, 2];
los vectores y matrices pueden multiplicarse por un escalar:
tecle:
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:
tecle:
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:
tecle:
a-b
13

Tutorial de MATLAB
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 :
tecle:
b+c
c-b
Los vectores y las matrices se multiplican de acuerdo a las reglas del
lgebra:
tecle:
b*c
Este resultado ilustra un error comn en Matlab. Las matrices deben ser
conmensurables para ser multiplicadas utilizando el operador *. La
premultiplicacin de un vector rengln de 1 por 3 como c por un vector
rengln de 1 por 3 como b no esta definida. Sin embargo si c se
transpusiera a un vector columna 3 por 1, se definira la multiplicacin. La
transposicin se efecta con el operador .
tecle:
c
14

b*c

Tutorial de MATLAB
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:
tecle:
A = [ 4, 3, 2, 4, 6 ];
C = 3.*A
G = A./5
Las vectores resultantes C y G tendrn el mismo tamao que A.
15

Tutorial de MATLAB
A fin de ilustrar las operaciones de arreglos para vectores, considere los
dos siguientes vectores fila:
Tecle:
B = [ -6, 3, -2, 4, 6 ];
Calculemos el producto de arreglos de A y B usando las siguientes
instrucciones:
Tecle:
L = A.*B
El comando de divisin de arreglos,
Tecle:
F=A./B
Asimismo la exponenciacin de arreglos tambin es una operacin
elemento por elemento ejemplos;
Tecle:
Z = A.^2
M = A.^B
Tambin podemos usar una base escalar con un exponente vector
como;
P= 3.^A

16

Tutorial de MATLAB
Los ejemplos anteriores utilizaron vectores, pero las mismas reglas se
aplican a matrices con filas 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
GRAFICA X vs. Y: Grficas x vs. y sencillas. Suponga que queremos
graficar los siguientes datos recabados de un experimento con un modelo
de coche de control remoto. El experimento se repite 10 veces, midiendo la
distancia que un mvil recorre en cada ensayo.
(x) Ensayo
1
2
3
4
5
6
7
8
9
10

(y) Distancia
58.5
63.8
64.2
67.3
71.5
88.3
90.1
90.6
89.5
90.4

17

Tutorial de MATLAB
Pruebe generar esta grfica: creando un vector llamado x con los datos
de la columna Ensayo, y un vector llamado y con los datos de la
columna Distancia y en seguida teclee :
plot (x, y), grid y de enter
Se genera automticamente la grfica.
La buena prctica de ingeniera exige la inclusin de unidades y un
titulo
Por lo tanto en el cdigo anterior incluya los siguientes comandos:
plot(x,y), title (Grfica de experimento), xlabel ( Ensayo), ylabel
(Distancia), grid
Si se agrega un tercer argumento en el comando plot ste controla 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:
18

plot (x,y,ro), grid

Tutorial de MATLAB
LISTA DE CARACTERES
COLOR
y
amarillo
m
magenta
c
cyan
r
rojo
guionada
g
verde
b
azul
w
blanco
k
negro

MARCADOR
.
punto
o
circulo
x
marca x
+
ms
*
d
v
^

ESTILO DE LINEA
continua
:
punteada
-.
guin-punto
--

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

Tutorial de MATLAB
Los archivos .m o archivos .M
Este tipo de archivo es de lo ms importe que se puede generar por el
usuario en MATLAB, es un archivo que ejecuta las instrucciones programadas
en l, y que pueden convertirse en un comando de matlab.
Ahora tu crearas un archivo .m
Desde la ventana de matlab selecciona new, M-file
Aparecer un blok de notas dentro de l, declara las siguientes variables:
Tecle:
t =[0:0.001:2]; % Este vector se puede tambin generar con:
linspace(0,0.001,2).
m = 2;
y = m .*t;
plot(t, y, 'r', linewidth,4),grid %linewidth, 4 : te da el grueso de la linea.
Despus guarda este cdigo en el mismo blok de notas en la parte superior (
file save en el drive e: pendiente.m si es memoria USB) con el nombre
pendiente.m, est nombre de archivo se convierte en un comando de Matlab
con el nombre pendiente.
Ejectalo en la pantalla de comandos llamndolo slo con su nombre
pendiente sin la extensin.m (antes de llamarlo recuerda cambiarte de
directorio del C: al e: con la instruccin cd e: si es el caso) .
Este archivo .m puedes llevarlo a otra computadora que tenga el programa
20
matlab y ejecutarlo .

Tutorial de MATLAB

MATLAB provee excelentes funciones para grficas en una y dos


dimensiones.
Veamos un par de ejemplos sencillos. Suponga que queremos trazar
la grfica de la funcin
y=t^2*e(-t.^2);
Esto lo podemos lograr con las instrucciones:
Tecle:
t=[-10:.1:10];
% La primera instruccin divide el
intervalo
[-10,10]en subintervalos de largo 0.1
y=t .^2 .*exp(-t.^2);
% Esta lnea evala la funcin
en los puntos.
plot(t,y,'linewidth',4),grid
% Grafica la funcin.

21

Tutorial de MATLAB

Supongamos ahora que queremos dibujar una superficie:


Tecle:
x=-10:0.5:10; %Las primeras dos
instrucciones dividen los ejes de
x" y "y" en subintervalos de largo 0.5.
y=x;
[X,Y]=meshgrid(x,y); %la tercera instruccin genera una rejilla en el
conjunto [-10,10] x [-10,10] con cuadraditos de lados 0.5 ,
Z=X.^2.*exp(-Y.^2);
% La cuarta instruccin evala la funcin
en los puntos de la rejilla, y finalmente
trazamos la superficie
con surf.
surf(X,Y,Z),title('Grafica de superficie')

22

Tutorial de MATLAB
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
equiespaciados; 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)
escala
semilogy (x,y)
escala

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


Genera una grfica de los valores de x y y usando una
logartmica para x y una escala lineal para y.
Genera una grfica de los valores de x y y usando una

lineal para x y una escala logartmica para y.


loglog (x,y)
Genera una grfica de los valores de x y y usando escalas
logartmicas tanto para x como para y.
Ms adelante se ver como utilizar estos comandos (tarea cdigo No.2)
23

Tutorial de MATLAB
GRAFICAS MULTIPLES: Una forma sencilla de generar curvas
mltiples en la misma grfica es usar mltiples argumentos en
un comando de graficacin, como en
Plot (x, t, y ,t) 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.
Ms adelante se ver como utilizar estos comandos ( tarea
cdigo 3).
Tarea: Comenta (con %) los comandos en los siguientes tres
cdigos, usa archivos .M, imprime tus graficas y presntalos al
maestro del curso son parte de la evaluacin del mismo.

24

Tutorial de MATLAB
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;
en2=n*k*w2;
M2=num2./den2;
x2=1024e-9.*exp(M2);
plot(v1,x1,'b',v2,x2,'r'), title('ECUACION DEL DIODO'),
legend('TEMPERATURA 298k', 'TEMPERATURA 358k'), grid

25

Tutorial de MATLAB
SUBGRFICAS: El comando subplot permite dividir la ventana de
grficos en subventanas. Las posibles divisiones pueden ser dos
subventanas o cuatro subventanas 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 (cdigo No.2).
El siguiente juego de instrucciones genera cuatro graficas que
ilustran la funcin del comando subplot empleando escalas lineales
y logartmica.

26

Tutorial de MATLAB
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:.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 senoide
completa un numero entero de ciclos'),grid

27

Tutorial de MATLAB

Cdigo No. 3
t=[-6*pi:.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 senoide
completa un nmero entero de ciclos'),grid

28

Tutorial de MATLAB

Cdigo No.4
t=0:.001:1;
x=2*sin(8*pi*t);
plot(t,x,'r','linewidth',2),grid
n=0:1:15;
y=2*sin(8*pi*(1/15)*n);
subplot(2,1,1),plot(t,x,'r','linewidth',3),grid,subplot(2,1,2),st
em(n,y,'linewidth',3),grid

29

Tutorial de MATLAB

30

Tutorial de MATLAB

Intenta crear una grafica usando el ciclo for

Tele
t=[-1:.005:1];
f=1;
w0=2*pi*f;
x=1.5*ones(size(t));
for i=1:100;
x=x+((-1)^(i+1))*(1/i)*sin(i*w0.*t);
end
plot(t,x,'r','linewidth',2), grid

31

Tutorial de MATLAB

Una ms
t=[-2:0.001:2];
x=0.25*ones(size(t));
for m=1:2:99
x=x+(-1)^((m-1)/2)*1/(m*pi)*exp(i*m*pi*t);
end
plot(t,x,'r','linewidth',2),grid

Saca tus conclusiones

32

Tutorial de MATLAB

Libro que se recomienda para ejercitar Matlab:


Solucin de problemas de Ingeniera con
Matlab,Delores M. Etter, Edit. Prentice Hall.
Tutorial elaborado por El Mtro. Juan Gustavo Ruiz Barajas
mayo 2009

33

Das könnte Ihnen auch gefallen