Professional Documents
Culture Documents
Introduccion Matlab
Introduccion Matlab
CAPITULO V. POLINOMIOS
2
PONDERACION
Examenes 60%
Tareas 15%
Actividades fund. 20%
Participacin (asistencia) 5%
3
MATLAB
Que es Matlab?
Matrix Laboratory
Toolbox
4
TOOLBOXES Control System Design and Analysis
MATLAB Product Family
Control System Toolbox
MATLAB System Identification Toolbox
Parallel Computing Toolbox Fuzzy Logic Toolbox
MATLAB Distributed Computing Robust Control Toolbox
Server Model Predictive Control Toolbox
Aerospace Toolbox
Math and Optimization
Optimization Toolbox Signal Processing and
Symbolic Math Toolbox Communications
Partial Differential Equation Signal Processing Toolbox
Toolbox Signal Processing Blockset
Global Optimization Toolbox Communications Toolbox
Filter Design Toolbox
Filter Design HDL Coder
Statistics and Data Analysis
Wavelet Toolbox
Statistics Toolbox Fixed-Point Toolbox
Neural Network Toolbox RF Toolbox
Curve Fitting Toolbox
Spline Toolbox Image and Video Processing
Model-Based Calibration Toolbox Image Processing Toolbox
Video and Image Processing Blockset
Image Acquisition Toolbox
Mapping Toolbox
5
TOOLBOXES
Test and Measurement Application Deployment
Data Acquisition Toolbox MATLAB Compiler
Instrument Control Toolbox Spreadsheet Link EX
(for Microsoft Excel)
Image Acquisition Toolbox
SystemTest
OPC Toolbox Application Deployment
Targets
Vehicle Network Toolbox MATLAB Builder EX
(for Microsoft Excel)
MATLAB Builder NE
Computational Biology
(for Microsoft .NET Framework)
Bioinformatics Toolbox MATLAB Builder JA
SimBiology (for Java language)
Blockset
SimElectronics
7
SIMULINK
Code Generation Rapid Prototyping and
Real-Time Workshop HIL Simulation
Real-Time Workshop Embedded
Coder xPC Target
Stateflow Coder xPC Target Embedded
Option
10
CREACIN DE VARIABLES
La creacin de una variable numrica en memoria se hace al asignarle
algn valor a un carcter por medio del smbolo =.
Ejemplos
>> a=4
a=
4
>>b=3+i
b=
3+1i
>>c=signal
c=
signal
11
COMANDOS DE MATLAB
help ayuda
clear remueve todo lo que esta en las ventanas
13
FUNCIONES MATEMTICAS
14
OPERACIONES ELEMENTALES ( SIMBOLOGA)
15
EJERCICIO 1
Evalu las siguientes operaciones Evalu las siguientes operaciones con
nmeros complejos
1. 9 (3 + 5) 6/4
2. 9 3 + 5 6/4 1.(1 + i) + (2 i)
3. 0.5 + 4.1 32 2 2.(1 + i) (2 i)
Evale 2+3
8+3
1. - 4
1+4(1+3)
-5 + 7
3(2+5)
2. -
2(3+4) 2 (1+3)3
3+
3(1-3) 2 8
3. -
16
17
18
Ejemplos
19
Ejemplos
20
EJERCICIOS 2
Evale las siguientes variables
a) y = 3sin
4
b)=y 3 cos +
4 2
c) sin = 0.9
d) cos = 0.42
e) y= 5 sin ( / 3)
f) y = e2+ 3
y=exp(2)+sqrt(3)
g) =y ln ( 7 + e 2 )
21
CAPITULO II
VECTORES
22
Capitulo II: Vectores
En fsica, un vector (tambin llamado vector
euclidiano o vector geomtrico) es un tipo de
representacin geomtrica para representar una
magnitud fsica definida por un punto del espacio
donde se mide dicha magnitud, adems de un
mdulo (o longitud), su direccin (u orientacin) y
su sentido (que distingue el origen del extremo).
23
CREACIN DE VECTORES
La creacin de un arreglo de datos (vector) se realiza a travs de una operacin para la cual se
tienen las siguientes funciones.
a=[0,1,2,3,4,5,6,7,8,9]
a=0:9
3.Crear una serie de datos con el operador : e indicarle el intervalo entre elementos
a=0:1:9
a=linspace(0,9,10)
>>
a=linspace(0,9,10)
a=
0 1 2 3 4 5 6 7 8 9
>> % Arroja valores del 0 al 10 24
OPERACIONES CON VECTORES
sintaxis operacin condicin
25
OPERACIONES CON VECTORES
sintaxis operacin condicin
26
OPERACIONES CON VECTORES
sintaxis operacin condicin
27
CREACIN DE VECTORES
3 -2 0 3
A= 4 9 17 b= 2
2 -4 8 -7
6 2 -5
29
Considerando los siguientes vectores
a y b as como el escalar c calcular:
2 4
a+c a= 3 b= 5 c= 12
6 1
a*c
a.*b
a.b
a.\b
c.b
30
Para calcular en MATLAB la norma de un vector se usa
la instruccin.
norm(x, p)
31
EJERCICIO 4: OPERACIONES CON
VECTORES
32
CAPITULO III
MATRICES
33
CAPITULO III. MATRICES
En matemtica, una matriz es un arreglo bidimensional
de nmeros, y en su mayor generalidad de elementos de
un anillo. Las matrices se usan generalmente para
describir sistemas de ecuaciones lineales, sistemas de
ecuaciones diferenciales o representar una aplicacin
lineal (dada una base). Las matrices se describen en el
campo de la teora de matrices.
34
MATRICES
Crear un arreglo de datos en dos dimensiones (matriz) se
puede llevar a cabo de varias formas
A=
1 2 3
4 5 6
7 8 9
35
1. Multiplicando dos vectores, a vector renglon,
entonces a*a es una matriz.
2. Crear una matriz de 1s con la funcin ones
>> A=ones(4)
A=
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
36
MATRICES
Ejercicios 5: introduzca las matrices
1 2 1 1
0
0 0 0
1 0 0
a = 0 2 1 c=
0 0 1 1
0 0 3 0 0 1 1
1 0 1 0 2 2
1 0 0 0 0 1 1 1 2 2
0 1 0 0
1 0 3 3 3 1
b= d =
0 0 1 0 0 1 3 3 3 1
2 2 3 3 3 1
0 0 0 1 2 2 1 1 1 4
37
EJERCICIO 6: MATRICES
1. Crear una matriz de ceros con la funcin zeros
2. Crear una matriz diagonal con la funcin diag
3. Crear una matriz identidad con la funcin eye
4. Con la funcin meshgrid comnmente usada
para evaluar funciones de dos o tres variables
38
ACTIVIDAD FUNDAMENTAL III
MATRICES
PAG 98 4.3.1
PAG 101 4.3.3
PAG101 4.3.4
39
MATRICES
ACTIVIDAD FUNDAMENTAL IV
Introduzca
1 0 0 2 1 2 0
= 0 2 0 ,
1 ,
A =
B 2 2 1 b 1
=
3
0 0 3 1 2 2 0
y calcule:
a) Ab
b) Bb
c) AB
d) BA
40
CAPITULO IV
GRAFICAS
41
INTRODUCCIN
42
Comandos para adornar las graficas
43
Despliega grafica del seno en puntos
azules
Despliega grafica del coseno en
diamantes verdes
44
Graficacin
A travs de medicin, se obtiene un conjunto de datos tiempo con distancia.
Se pueden almacenar los valores de tiempo en un vector llamado x y
distancia como y.
>> x=[0:2:18];
>> y=[0,0.33,4.13,6.29,6.85,11.19,13.19,13.96,16.33,18.17];
>> % graficamos x y y
>> plot(x,y)
>>
45
Podemos agregar ttulos y varias caractersticas
46
GRAFICAS CON MAS DE UNA LNEA
Podemos aplicar las grficas una encima de la
otra con el comando hold on:
>> x=0:pi/100:2*pi;
>> y1= cos(x*4);
>> plot(x,y1)
47
>> x=0:pi/100:2*pi;
>> y1= cos(x*4);
>> plot(x,y1)
>> y2=sin(x);
>> plot(x,y2)
48
Podemos obtener las graficas en colores
>> x=0:pi/100:2*pi;
>> y1=cos(x)*2;
>> y2=cos(x)*3;
>> y3=cos(x)*4;
>> y4=cos(x)*5;
>> z=[y1;y2;y3;y4];
>> plot(x,y1,x,y2,x,y3,x,y4)
49
FUNCIN PEAKS
Del ejemplo anterior agregamos:
plot(peaks(100))
El cual peaks es una funcin de dos variables que
produce datos muestra tiles para demostrar
ciertas funciones de graficacin. Se puede usar
peaks para demostrar la potencia de usar un
argumento de matriz en la funcin plot.
La entrada a la funcin plot creada por peaks es
una matriz de 100x100.
50
MTODO DE GRAFICAR
51
Grficos tridimensionales
>>[X, Y]=meshgrid(-2:.2:2,-3:0.5:3)
>>Z=X.^2.*Y
>>plot3(X,Y,Z)
52
EJERCICIO 7 PAG 39:
Grafica la funcin de la espiral
r=2sen (5)
teta=linspace(0,2*pi,1000);
r=2*sin(5teta);
polar(teta,r)
53
GRAFICA DE BARRAS
54
GRAFICAS DE ESCALERA E HISTOGRAMAS Y
PUNTOS
55
COMANDO SUBPLOT:
SIRVE PARA GUARDAR VARIAS GRAFICAS EN
UNA SOLA FIGURA.
56
Grafica de brjula( compass)
Muestra la magnitud y el ngulo de pares coordenados cartesianos.
El comando:
compass(z)= compass(x,y)
Donde z es un conjunto de coordenadas cartesianas.
Donde x son vectores
Ejemplo
57
ACTIVIDAD FUNDAMENTAL V
58
GRAFICAS EN 3 DIMENSIONES
La sintaxis:
plot3(x,y,z,s)
59
GRAFICAS DE MALLA (MESH)
Las funciones que interesa graficar son de la forma:
Z=f(x,y)
El comando que se utiliza para obtener las grficas de malla es:
mesh(x,y,z)
Primero se define una rejilla (meshgrid) que genera las matrices
x,y con la instruccin:
[x,y]= meshgrid(xi,yi:inc:xf,yf)
Ejemplo 2.12
60
TAREA:EJERCICIO 8
61
GRAFICA DE SUPERFICIE (SURF)
Esta grafica es similar a la de malla, excepto que los rectangulos de la
superficie estan coloreados. Los colores de los rectngulos estn determinados
por los valores de Z y por el mapa de colores.
62
ACTIVIDAD FUNDAMENTAL 6
Introduce el comando y explica que pasa ( como
comentario en cada grfica):
Shading flat
Shading interp
Surf
Surfl (X,Y,Z)
63
Variables y funciones
Variables simblicas
Matlab incluye un bloque de matemticas simblicas (Symbolic Math
Toolbox) y provee un nmero grande de funciones matemticas.
Las funciones se pueden consultar en la ventana de comandos escribiendo:
>> help specfun
>> help elfun
>> help el mat
64
La mayora de las funciones matemticas acepta como argumento nmeros
imaginarios, por ejemplo al calcular la raz cuadrada de un nmero negativo,
no produce error, sino un nmero complejo o imaginario.
Las funciones pueden generar cuando ocurre una divisin entre cero o
generar un clculo matemtico mas all del lmite permitido por la variable
realmax. ejemplo
65
Funciones en lnea
Pueden ser generadas con el comando inline(expresin matemtica
en forma de cadena), ejemplo:
66
Evaluar la integral:
sen( x)
y= dx
0
x
67
Variables simblicas
Para la funcin: f = 3 x 3 + ax + b
68
Variables simblicas
69
GRAFICA DE UNA FUNCIN CON
EZPLOT() PAG 71
70
GRAFICA DE UNA FUNCIN CON
EZPLOT()
cos(10 x) (2+sin(x))
-1
-2
-3
-6 -4 -2 0 2 4 6
x
71
GRAFICA DE UNA FUNCIN CON
FPLOT()
-1
-2
72
-3
-10 -5 0 5 10
GRAFICA DE UNA FUNCIN CON
FPLOT()
0.8
0.6
0.4
0.2
-0.2
73
-0.4
-30 -20 -10 0 10 20 30
VECTOR DE VALORES PARA GRAFICAR UNA
FUNCIN DISCRETA
STEM (Y) representa la secuencia de datos Y como se deriva del
eje x terminado con los crculos para el valor de datos. Si Y es
una matriz luego cada columna se representa como una serie
separada.
4.5
3.5
2.5
1.5
0.5
74
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
DIFERENCIAS ENTRE PLOT(),
FPLOT() Y EZPLOT()
75
Ejercicio 9 transformada Z
z 1 z 2
| X ( z ) |=
1 1.2732 z 1 + 0.81z 2
76
Grficas de superficies
Valor absoluto
77
Actividad Fundamental VII
En el pizarron se darn las instrucciones
78
CAPITULO IV
79
POLINOMIOS
80
OPERACIONES BSICAS DE POLINOMIOS
Los coeficientes de los polinomios estn
definidos en MATLAB como vectores
rengln donde los coeficientes se
escriben en orden descendente
y = x +1
y = 3x + 6 x + 1
3 2
81
OPERACIONES BSICAS DE POLINOMIOS
Operaciones: Suma y resta
[1111]+[3210]
ans =
4 3 2 1 % = 4x3 + 3x2 + 2x + 1
% (x + 1) + (3x3 + 2x2 + x)
[0011]+[3210]
ans =
82
3 2 2 1 % la resta es anloga
Operaciones: Producto
Polinomio x escalar
ans =
9 63 0 % 9x3 + 6x2 + 3x
83
MULTIPLICACIN DE POLINOMIOS
Se utiliza la funcin conv()
y = 3x 3 + 6 x 2 + 1
y = x +1
y = 3x 4 + 9 x 3 + 6 x 2 + x + 1 84
MULTIPLICACIN DE POLINOMIOS
Para multiplicar ms de dos polinomios es necesario
repetir el proceso.
y = 5 x10 2 x 9 9 x 8 + 12 x 7 18 x 6 42 x 5 23 x 4 20 x 3 60 x 2 32 x
85
POLINOMIOS
y = 2 x 2 + 3 x + 14
86
DIVISIN DE POLINOMIOS
3 x 2 5 x + 16 cociente
x + 3 3x 3 + 4 x 2 + x + 9
3x 3 9 x 2
5x 2 + x + 9
5 x 2 + 15 x
16 x + 9
16 x 48
39
residuo87
DIVISIN DE POLINOMIOS
Se utiliza la funcin
[ q, r ]= deconv(a,b)
q: polinomio cociente
r: polinomio residuo 88
DERIVADA DE UN POLINOMIO
Se utiliza la instruccin: polyder()
y = 3x + 9 x + 6 x + x + 1
4 3 2
y = 12 x 3 + 27 x 2 + 12 x + 1
Operaciones: polyder()
polyder ( [ 4 2 1 ])
ans =
8 2
89
INTEGRAL DE UN POLINOMIO
Operaciones: polyint() integra un polinomio
polyint ([4,2])
ans =
2 2 0
90
ACTIVIDAD FUNDAMENTAL VIII
Resuelva las siguientes operaciones, para los
polinomios.
a)2 3 + 4 2 + 2
b)5 5 + 7 3 + 9
c)8 3 + 4 2
d)3 2 + 10
93
EJEMPLO
Considerar los datos de la siguiente tabla y obtener la grfica
X 0 1 2 3 4 5 6
Y 0 -4 -5 2 6 -4 10
94
Esto indica el polinomio a(x)= -.0278 3 +.7143 2 1.8770 1 1.1905
95
EJERCICIO 1
Con los datos siguientes obten:
a) La grfica
b) La grafica de un polinomio de grado 3 pasando
por los puntos obtenidos.
c) La grafica de los puntos junto con los polinomios.
Datos medidos
x y
0 0
1 1
2 4
3 2.5
4 8
5 3
96
6 .23
CONTINUACION DEL EJEMPLO ANTERIOR
97
Ajuste de curvas
Ahora se utiliza un polinomio de grado 6.
98
Ajuste de curvas
99
AJUSTE DE CURVAS CON LA FUNCIN
SPLINE(X,Y,V)
100
AJUSTE DE CURVAS CON LA FUNCIN
SPLINE(X,Y,V)
mejores resultados.
INTERFASE PARA AJUSTE DE CURVAS
BASIC FITTING
- Primero graficar los datos x, y.
- En el menu Tools, seleccionar Basic Fitting.
- Seleccionar la opcin Spline Interpolant.
- Seleccionar la opcin 5th degree polynomial.
- Seleccionar show equations.
- Plot residuals muestra el error en cada
aproximacin.
- La siguiente ventana muestra los coeficientes de
los polinomios.
- La ltima ventana permite evaluar el polinomio.
102
INTERFASE PARA AJUSTE DE CURVAS
BASIC FITTING
103
INTERFASE PARA AJUSTE DE CURVAS
BASIC FITTING
104
INTERFASE PARA AJUSTE DE CURVAS
BASIC FITTING
105
SOLUCIN DE ECUACIONES
Para resolver ecuaciones Matlab utiliza la instruccin
solve().
106
SOLUCIN DE ECUACIONES
En algunos casos Matlab arroja un valor numerico.
107
CAPITULO VI. INTEGRALES
c) 0 ()/
109
INTEGRALES DOBLES Y
TRIPLES
Ejercicio: escribir la integral a la que corresponde
cada resultado de matlab
a)
110
b)
111
CAPITULO VII.PROGRAMACION
112
ELABORACIN DE PROGRAMAS EN MATLAB
MATLAB proporciona un lenguaje de
programacin. Una ventaja muy importante de
programar en lenguaje-m, es que no requiere que
se declaren las variables y sus tipos al principio
del programa, ya que estas se definen
automticamente cuando las usamos por primera
vez.
113
INSTRUCCIONES BSICAS DE MATLAB
Sentencia If:
En su forma ms simple, la sentencia if se describe como sigue:
if condicion
Sentencias
end
Para crear condiciones debemos conocer tanto los operadores
relacionales como los operadores lgicos.
Operadores relacionales Operadores lgicos
Operadores Operadores
relacionales lgicos
igualdad == and &
(ampersand)
desigualdad ~ = or ~ = or
menor < not
mayor > xor
114
menor o igual <= any
mayor o igual >= all
Ejemplo de uso de if:
nro = input('Ingrese un nmero positivo: ');
if mod(nro,2)==0 disp('es par');
else disp('es impar');
end
115
Ejemplo de uso de if/elseif:
nro = input('Ingrese un nmero positivo: ');
if nro==1 disp('Ud. ingreso 1');
elseif nro==2 disp('Ud. ingreso 2');
elseif nro==3 disp('Ud. ingreso 3');
else disp('El nmero es mayor que 3');
end
116
Sentencia Switch:
switch switch_expresion
case case_expr1,
bloque 1
case {case_expr2, case_expr3, case_expr4, ...},
bloque 2
...
otherwise,
bloque 3
end
117
Ejemplo de uso switch:
nro = input('Ingrese un nmero positivo: ');
switch nro
case 1, disp('Ud. ingreso 1'),
case 2, disp('Ud. ingreso 2')
case 3, disp('Ud. ingreso 3')
otherwise, disp('El nmero es mayor que 3')
end
118
Sentencia For:
La sentencia for repite un conjunto de sentencias un
nmero predeterminado de veces. La siguiente
construccin ejecuta sentencias con valores de i de 1 a
n, variando en uno:
for i=1:n
sentencias
end
For anidados:
for i=1:n
for j=1:m
sentencias
end 119
end
Ejemplos de uso de for:
nro = input('Ingrese un nmero positivo: ');
for i=1:nro
disp(i)
End
120
Sentencia While:
La sintaxis de la estructura while es la siguiente.
while condicion
sentencias
End
122
PROGRAMACIN BSICA CON MATLAB
Ejercicio 10.-
Realizar los programas propuestos por el maestro
(24)
123
VIII. APLICACIONES CON MATLAB:
PROCESAMIENTO DE IMAGEN
124
INTRODUCCIN
CONCEPTOS Y TCNICAS DE PROCESAMIENTO DE
IMGENES
f=
Columns 1 through 22
156 159 158 155 158 156 159 158 157 158 158 159 160 160 160 158 163 161 162 160 164 160
160 154 157 158 157 159 158 158 158 160 155 156 159 158 160 157 165 159 161 158 162 162
156 159 158 155 158 156 159 158 157 158 158 159 160 160 160 158 163 161 162 160 164 160
160 154 157 158 157 159 158 158 158 160 155 156 159 158 160 157 165 159 161 158 162 162
156 153 155 159 159 155 156 155 155 157 155 154 154 158 162 157 157 158 157 159 161 160
155 155 155 157 156 159 152 158 156 158 152 153 159 156 157 161 160 158 161 159 159 159
156 153 157 156 153 155 154 155 157 156 155 156 155 157 158 160 157 160 161 162 162 159
159 159 156 158 156 159 157 161 162 157 157 159 161 156 163 158 159 161 158 163 163 163
158 155 158 154 156 160 162 155 159 161 156 161 160 155 158 161 162 162 161 163 158 156
MOSTRAR IMAGEN
>> size(f)
ans =
256 256
Pixel:
132
ACTIVIDAD 2
133
OPERACIONES BSICAS LGICAS
Suma:
134
FORMA CORTA PARA SUMAR
>>A=(imagen)
>>B=(imagen)
>>Suma=imadd(A,B);
>>Imshow(s).
136
RESTA Y MULTIPLICACIN
>>w=imsubtract(A,B);
>>imshow(w)
>>b = immultiply(A,B);
>>imshow(b)
EXAMEN ORDINARIO
138