Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccion A MatLab
Introduccion A MatLab
Introducción a Matlab
Taller Intersemestral
Agosto 2005
Ingeniería Eléctrica y Electrónica
Objetivo:
Desglose de Temas
•Introducción
•Funciones y archivos M
•Operaciones con matrices
•Operaciones con arreglos de datos
•Operadores relacionales
•Operadores lógicos
•Funciones para análisis de datos
•Graficación
Ingeniería Eléctrica y Electrónica
Introducción
•MATLAB® es un lenguaje de alto rendimiento para
cómputo técnico.
Introducción
•MATLAB es un lenguaje basado en expresiones.
variable = expresión
o simplemente
expresión
Ingeniería Eléctrica y Electrónica
Introducción
•Las expresiones se componen de operadores,
caracteres especiales y de nombres de funciones y
variables.
Variables
•Los nombres de variables deben ser de una sola
palabra y que no contengan espacios.
Variables
•MATLAB almacena la información de las variables en
forma progresiva en lo que se llama espacio de trabajo
de MATLAB (MATLAB workspace).
Variables especiales
ans Nombre de la variable usada por default
pi 3.14159.........
iyj i = j = sqrt(-1)
Documentación
Operadores aritmeticos
Suma ( a + b ) + 5+3
Resta ( a – b ) – 23 – 12
División ( a ÷ b ) / 50/5 = 10
Potencias ( ab ) ^ 6^2
Ingeniería Eléctrica y Electrónica
Orden de operaciones
3 -99 0.0001
Vectores y Matrices
•La principal estructura de datos en MATLAB son las
matrices.
Vectores y Matrices
•La forma más sencilla para capturar los elementos de
una matriz es usando listas explicitas.
A = [ 1 2 3; 4 5 6; 7 8 9 ]
Ingeniería Eléctrica y Electrónica
Vectores y Matrices
•Los elementos de una matriz pueden ser cualquier
expresión de MATLAB, por ejemplo el enunciado
X(1)
ans =
-2.5000
Ingeniería Eléctrica y Electrónica
Vectores y Matrices
Además, se pueden introducir nuevos datos o cambiar
valores de elementos ya existentes referenciandolos por
su subíndice, por ejemplo:
X(5) = abs(x(1))
Produce la salida
X=
-2.5000 1.7321 29.3333 0.0000 2.5000
Números complejos
Los números complejos son permitidos en todas las
operaciones y funciones en MATLAB. Los números
complejos se capturan usando las funciones especiales i
y j, por lo cual el enunciado
Z = 4 + 4*i ( Z = 4+4i )
es igual a
Z = 4 + 4*j ( Z = 4+4j )
Números complejos
W = r*exp(i*theta) ( w = 5*exp(i*pi/2) )
Números complejos
Existen dos formas para capturar matrices complejas, la
primera sería con el enunciado
A = [ 1 2; 3 4 ] + i * [ 5 6; 7 8 ]
Funciones y archivos M
Funciones de Matlab
9Archivos M (Toolboxes)
Funciones
•El comando help se utiliza para obtener ayuda en línea
sobre cualquier función de MATLAB
Por ejemplo:
help sin
Archivos M
• Se pueden crear funciones más complejas a partir de
las funciones básicas.
Archivos M
•Enseguida se muestra el listado de una función que calcula el
promedio de las calificaciones de cuatro unidades.
A = [ 1 2 3; 4 5 6; 7 8 9]
B = [ 1 0 0; 0 1 0; 0 0 1 ]
X = [ -1 0 2 ]
La operación
C = A + B
producirá
C =
2 2 3
4 6 6
7 8 10
Ingeniería Eléctrica y Electrónica
A + 2
ans =
3 4 5
6 7 8
9 10 11
Ingeniería Eléctrica y Electrónica
A = [ 1 2 3; 4 5 6; 7 8 0 ];
B = A’
da como resultado
B = 1 4 7
2 5 8
3 6 0
Si la matriz Z es una matriz compleja, entonces Z’ será
su complejo conjugado transpuesto.
Ingeniería Eléctrica y Electrónica
Pero si hacemos
B = A * X
el resultado será
X = [ -1; 0; 2]
B = [ 13; 14; 15 ]
X'*B
ans =
17
Ingeniería Eléctrica y Electrónica
z = inv(A)*b
y obtener
z = -1
0
2
Ingeniería Eléctrica y Electrónica
det(A)
ans =
27
Ingeniería Eléctrica y Electrónica
Suma y resta
Por ejemplo si
x = [ 1 2 3 ];
y = [ 4 5 6 ];
entonces
z = x .* y
resulta en
z = 4 10 18
Ingeniería Eléctrica y Electrónica
z = x .^ 2
da como resultado
z = 1 4 9
Ingeniería Eléctrica y Electrónica
z = 2 .^ [x y]
z = 2 4 8 16 32 64
Ingeniería Eléctrica y Electrónica
Operadores Relacionales
Existen seis operadores relacionales para comparar
dos matrices de iguales dimensiones los cuales se
incluyen en la siguiente tabla:
Operadores Relacionales
Las comparaciones son hechas entre pares de
elementos correspondientes, el resultado es una
matriz de unos y ceros, con un uno = VERDADERO y
un cero = FALSO. Por ejemplo:
z = x < y
lo que resulta en
z = [ 1 1 1]
Ingeniería Eléctrica y Electrónica
Operadores Relacionales
z = find(x >= 2)
obtendremos
z = 2 3
Ingeniería Eléctrica y Electrónica
Operadores Lógicos
Operadores Lógicos
Operadores Lógicos
Generación de números
logspace(d1,d2,N)
Ingeniería Eléctrica y Electrónica
La función
rand(r,c)
La función
randn(r,c)
Graficación
Gráficas xy Sencillas
Se explicará la graficación xy sencilla con un ejemplo. Suponga que
queremos graficar la información resultante de un experimento:
Ensayo 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
Ingeniería Eléctrica y Electrónica
Graficación
Gráficas xy Sencillas
x= [1 2 3 4 5 6 7 8 9 10];
y= [58.5 63.8 64.2 67.3 71.5 88.3 90.1 90.6 89.5 90.4];
plot(x,y)
Ingeniería Eléctrica y Electrónica
Gráficas xy Sencillas
Ingeniería Eléctrica y Electrónica
Gráficas xy Sencillas
title(‘Experimentos de Laboratorio’)
xlabel(‘Ensayo’)
ylabel(‘Distancia, m’)
grid on
Gráficas xy Sencillas
Ingeniería Eléctrica y Electrónica
Gráficas Múltiples
plot(x,y,w,z)
Gráficas Múltiples
x= 0:0.1:5;
w= x;
z= w.^2 - 0.9*x +7;
f(1,:)= x.^2 - 3*x + 2;
f(2,:)= 2*x.^2 + x -3;
subplot(2,1,1)
plot(x,f(1,:),w,z),title('Grafica con dos curvas:plot(x,f(1,:),w,z)')
subplot(2,1,2)
plot(x,f), title('Grafica de multiples funciones:plot(x,f)')
Ingeniería Eléctrica y Electrónica
Gráficas Múltiples
Ingeniería Eléctrica y Electrónica
continua - punto .
guiones -- más +
punteada : estrella *
guiones-puntos -. círculo o
marca x
Ingeniería Eléctrica y Electrónica
Subgráficas
subplot(2,1,1), plot(x,y)
Graficación en 3D
•Gráficas de líneas
•Gráficas de contorno
•Gráficas de malla
Ingeniería Eléctrica y Electrónica
Gráficas de líneas
Gráficas de contorno
Gráficas de malla
Ejemplos:
Simple3D
clf
x=-1:.1:1;
y=-2:.1:2;
[X,Y]=meshgrid(x,y);
z=X.^4+(Y/2).^4;
subplot(121), contour(z)
subplot(122), mesh(z)
Ingeniería Eléctrica y Electrónica
Ingeniería Eléctrica y Electrónica
Banana de Rosenbrock
function h=banana(x1,x2)
h=100*(x2-x1.^2).^2+(ones(size(x1))-x1).^2;
Banana1.m
clf
x=0:.1:2;
y=0:.1:4;
[X,Y]=meshgrid(x,y);
z=banana(X,Y);
subplot(121), contour(x,y,z)
subplot(122), mesh(x,y,z)
Ingeniería Eléctrica y Electrónica
Banana de Rosenbrock
Ingeniería Eléctrica y Electrónica
Banana2.m
clf
x=0:.1:2;
y=0:.1:4;
[X,Y]=meshgrid(x,y);
z=banana(X,Y);
logz=log(1+z);
meshc(x,y,logz)
Ingeniería Eléctrica y Electrónica