You are on page 1of 33

Tutorial de MATLAB

1
Tutorial de MATLAB

LEAN CON DETENIMIENTO LOS PÁRRAFOS SIGUIENTES Y NO INTENTE


INTRODUCIR DATOS HASTA QUE SE LE INDIQUE:

Matlab es una herramienta poderosa usada por ingenieros y científicos de todo


el mundo para resolver diversos problemas que requieren cálculos complejos
bajo una secuencia de instrucciones y respaldado por una compañía de
software Profesional: The Math Works Inc.
La parte de este taller esta orientado para que el estudiante tenga capacidad
de graficar señales.
Su contenido se enumera a continuación:

1.- Matrices y operadores.

2.- Funciones y comandos propios de Matlab.

3.-Graficación de señales.
2
Tutorial de MATLAB

Sobre las pantallas que aparecen al abrir el


programa:
Al abrir MATLAB normalmente aparecen tres pantallas (versión 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 histórico 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 símbolo ‘»’. Ver Fig.1.

3
Tutorial de MATLAB

Fig. No. 1 Pantallas de MATLAB versión 6.0


4
Tutorial de MATLAB

EL INDICADOR : El símbolo “” en la pantalla principal ( command


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: A = 2.5 Un sólo dato se denomina escalar.

B = 2.5, 6.4  Si una matriz tiene una sola fila o


una sola columna, la llamamos vector; para ser
más claros llamamos vector fila o vector columna.

Matriz :
-2 0 3 El tamaño de una matriz se especifica por el número de filas y
C = 3 -4 5 de columnas; así, C es una matriz de 3 x 3. Un dato de una
0 0 2 matriz se puede identificar por los subíndices; así C23
representa el dato 5 de la matriz C, si una matriz contiene m
filas y n columnas, entonces contiene un total de m x n
valores; así, C es una matriz de tamaño 3 x 3.
5
Tutorial de MATLAB

ESTILO Matlab es sensible a la diferencia entre mayúsculas y


minúsculas, así que los nombres “Espacio, ESPACIO y espacio”
representan tres variables distintas.
Matlab tiene la posibilidad de manejar números reales (ejem. 12.7× 10-2
se escribe 12.7 e-2 ) el número 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 ∏.

DEFINICIÓN DE UNA MATRIZ La forma más sencilla de definir una matriz


es usar una lista de números, 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 números en una fila de una matriz


para que quepan en una línea, podemos continuar la instrucción en la siguiente línea,
pero se requiere una coma y tres puntos al final de la línea 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 también 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]

7
Tutorial de MATLAB

También podemos modificar los valores de una matriz o agregar valores


adicionales usando una referencia a un lugar específico. 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í también 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 instrucción y oculta la exhibición del resultado de la
operación.
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 SÓLO TECLEA LOS VECTORES NO ESCRIBAS EL COMENTARIO %
El punto y coma ; termina la instrucción y oculta la exhibición del resultado de la operación.
Teclee D = [-3, 1.5, 6, 2.5] ahora Teclee D = [-3, 1.5, 6, 2.

B = [ 2; 4; 6; 10] % DEFINE UN VECTOR COLUMNA.

C = [ 5, 3, 5 ; 6, 2, –3 ] % DEFINE UNA MATRIZ 2 x 3.

E = [ 3, 5, 10, 0; 0, 0 , ...
0, 3; 3, 9, 9, 8 ] % COMA Y TRES PUNTOS PARA CONTINUAR
UNA LINEA.

T = [ 4, 24, 9 ]

Q = [ T, 0, T ] % INTERCALA UN VALOR DE CERO ENTRE


DOS VECTORES.

V = [ C ( 2, 1); B ] % DE LA MATRIZ C SELECCIONA EL


VALOR (m, n) Y LO AGREGA AL VECTOR B.

A (2, 1) = - 3 % CREA UNA MATRIZ LLAMADA A Y LE


ASIGNA EL VALOR DE –3 EN (m, n) 9
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 % Este operador es especialmente útil para generar los índices


de tiempo de una señal de tiempo discreto.

También se usan los signos de dos puntos para separar tres números, el operador de
dos puntos generará valores entre el primer número y el tercero, usando el segundo
número 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 función
analógica.
El incremento también puede ser negativo
tecleé:
r = 15:-1:0 10
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 función size devuelve dos argumentos escalares que representan el número
de filas y el número de columnas, podemos usar size para generar una matriz
de ceros que tenga el mismo tamaño que la otra matriz ejemplo:
Tecleé
W = [ 4, 3, 2; 4, 6, 3 ];
F= zeros(size ( W ) )
La función ones genera una matriz que solo contiene unos.
Tecleé
C= [1, 2, 3; 4, 2, 5];
D = ones(size(C))
Algunas ocaciónes es necesario conocer que variables se hallan definidas y que
valores tienen almcenados el comando who lleva a cabo esta acción:
Tecleé who
Si desea dejar una variable sin definición (sacarla de la lista ) se utiliza el
comando: clear. 11
Tutorial de MATLAB

Operaciones con escalares , vectores y matrices: Los operadores matemáticos


incorporados que se utilizan con frecuencia en matlab son:
símbolo significado símbolo significado

= Asignación - Resta

+ Adición .* Multiplicación de
arreglo
* Multiplicación .^ Potencia del arreglo

^ Potenciación ./ División del arreglo

/ División
& AND lógica

< > Operadores relacionales


~ NOT logica

l OR lógico ‘ Transpuesta

== Igualdad .’ Transpuesta no
conjugada 12
Tutorial de MATLAB

Tecleé el enunciado de asignación 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 sólo añade 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 matemáticas, 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 común en Matlab. Las matrices deben ser conmensurables para
ser multiplicadas utilizando el operador *. La premultiplicación de un vector renglón de 1 por
3 como c por un vector renglón de 1 por 3 como b no esta definida. Sin embargo si c se
transpusiera a un vector columna 3 por 1, se definiría la multiplicación. La transposición se
efectúa con el operador ‘.
tecleé:
c’
b*c’
14
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 multiplicación de matrices. Ese
tipo de multiplicación se denomina multiplicación del arreglo en Matlab y se lleva a cabo
utilizando el operador .*
Las operaciones elemento por elemento, u operaciones de arreglos, no sólo se aplican a
operaciones entre dos matrices del mismo tamaño, si no también 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 tendrán el mismo tamaño 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 división de arreglos,
Tecleé:
F=A./B
Asimismo la exponenciación de arreglos también es una operación elemento por
elemento ejemplos;
Tecleé:
Z = A.^2
M = A.^B
También 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 podrás 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: Gráficas 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 móvil recorre en cada ensayo.
(x) “Ensayo” (y) “Distancia”
1 58.5
2 63.8
3 64.2
4 67.3
5 71.5
6 88.3
7 90.1
8 90.6
9 89.5
10 90.4
17
Tutorial de MATLAB

Pruebe generar esta gráfica: 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 automáticamente la gráfica.

“La buena práctica de ingeniería exige la inclusión de unidades y un titulo”

Por lo tanto en el código anterior incluya los siguientes comandos:

plot(x,y), title (‘Gráfica 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 gráfica. Es una cadena la que determina el color de la línea, estilo de la misma y los
símbolos (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

18
Tutorial de MATLAB

LISTA DE CARACTERES

COLOR MARCADOR ESTILO DE LINEA


y amarillo . punto - continua
m magenta o circulo : punteada
c cyan x marca x -. guión-punto
r rojo + más -- guionada
g verde * asterisco
b azul s cuadrado
w blanco d diamante
k negro v triangulo(hacia abajo)
^ triangulo (hacia arriba)

19
Tutorial de MATLAB

Los archivos .m o archivos .M


Este tipo de archivo es de lo más 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 también 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.

Después guarda este código 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.
Ejecútalo en la pantalla de comandos llamándolo sólo con su nombre “pendiente” sin
la extensión.m (antes de llamarlo recuerda cambiarte de directorio del C: al e: con la
instrucción cd e: si es el caso) .
Este archivo .m puedes llevarlo a otra computadora que tenga el programa matlab y
ejecutarlo . 20
Tutorial de MATLAB

MATLAB provee excelentes funciones para gráficas en una y dos dimensiones.


Veamos un par de ejemplos sencillos. Suponga que queremos trazar la gráfica de la
función
y=t^2*e(-t.^2);
Esto lo podemos lograr con las instrucciones:
Tecleé:
t=[-10:.1:10]; % La primera instrucción divide el intervalo
[-10,10]en subintervalos de largo 0.1
y=t .^2 .*exp(-t.^2); % Esta línea evalúa la función en los puntos.
plot(t,y,'linewidth',4),grid % Grafica la función.

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 instrucción 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 instrucción evalúa la función
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 LOGARÍTMICAS: La mayor parte de las gráficas que generamos


dan por hecho que los ejes x vs. y se dividen en intervalos equiespaciados; estas gráficas
se llaman gráficas lineales. Una escala logarítmica (de base 10) es útil cuando una
variable abarca varios órdenes de magnitud.

Los comandos MATLAB para generar gráficas lineales y logarítmicas de los vectores x y y
son los siguientes

plot (x,y) Genera una gráfica lineal con los valores de x y y.


semilogx (x,y) Genera una gráfica de los valores de x y y usando una escala
logarítmica para x y una escala lineal para y.
semilogy (x,y) Genera una gráfica de los valores de x y y usando una escala
lineal para x y una escala logarítmica para y.
loglog (x,y) Genera una gráfica de los valores de x y y usando escalas
logarítmicas tanto para x como para y.
Más adelante se verá como utilizar estos comandos (tarea código No.2)

23
Tutorial de MATLAB

GRAFICAS MULTIPLES: Una forma sencilla de generar curvas múltiples en la


misma gráfica es usar múltiples argumentos en un comando de graficación,
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.

Más adelante se verá como utilizar estos comandos ( tarea código 3).

Tarea: Comenta (con %) los comandos en los siguientes tres códigos, usa
archivos .M, imprime tus graficas y preséntalos al maestro del curso son parte
de la evaluación del mismo.

24
Tutorial de MATLAB

Código 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

SUBGRÁFICAS: El comando subplot permite dividir la ventana de gráficos 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 dígitos m y n especifican que la ventana
de gráficos se divida en una retícula de m por n ventanas más pequeñas, y el
digito p especifica la p-ésima ventana para la gráfica 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 gráficos se divida en una grafica superior y una inferior ( dos líneas
de graficas en una columna ) y que la grafica actual plot(x,y) se coloque en la
ventana superior (código No.2).

El siguiente juego de instrucciones genera cuatro graficas que ilustran la


función del comando subplot empleando escalas lineales y logarítmica.

26
Tutorial de MATLAB

Código 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
Código 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);
27
plot(t,x1,'b',t,x2,'r',t,x3,'k','linewidth',2),title('Cada senoide completa un numero
entero de ciclos'),grid
Tutorial de MATLAB

Código 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
número entero de ciclos'),grid

28
Tutorial de MATLAB

Código 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),stem(n,y,'linewi
dth',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 más

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:

Solución de problemas de Ingeniería con Matlab,Delores M. Etter,


Edit. Prentice Hall.

33

You might also like