Professional Documents
Culture Documents
Rogramación Con Atlab: Mc. Emily Saucedo Mariscal Uanl-Fime
Rogramación Con Atlab: Mc. Emily Saucedo Mariscal Uanl-Fime
CAPITULO V. POLINOMIOS
2
PONDERACION
Examenes 50%
Tareas 10%
Actividades fund. 20%
Participación (asistencia) 10%
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)
10
CREACIÓN DE VARIABLES
La creación de una variable numérica en memoria se hace al asignarle
algún valor a un carácter por medio del símbolo “=“.
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 MATEMÁTICAS
14
OPERACIONES ELEMENTALES ( SIMBOLOGÍA)
15
EJERCICIO 1
Evalué las siguientes operaciones Evalué las siguientes operaciones con
números complejos
1. 9 − (3 + 5) ∗ 6/4
2. 9 − 3 + 5 ∗ 6/4 1.(1 + i) + (2 − i)
3. 0.5 + 4.1 − 3ˆ2 ∗ 2 2.(1 + i) (2 − i)
Evalúe 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
Evalúe 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 e 2 3
y=exp(2)+sqrt(3)
g) y ln 7 e 2
21
CAPITULO II
VECTORES
22
Capitulo II: Vectores
En física, un vector (también llamado vector
euclidiano o vector geométrico) es un tipo de
representación geométrica para representar una
magnitud física definida por un punto del espacio
donde se mide dicha magnitud, además de un
módulo (o longitud), su dirección (u orientación) y
su sentido (que distingue el origen del extremo).
23
CREACIÓN DE VECTORES
La creación de un arreglo de datos (vector) se realiza a través de una operación 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 operación condición
25
OPERACIONES CON VECTORES
sintaxis operación condición
26
OPERACIONES CON VECTORES
sintaxis operación condición
27
CREACIÓN 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 instrucción.
norm(x, p)
31
EJERCICIO 4: OPERACIONES CON
VECTORES
32
CAPITULO III
MATRICES
33
CAPITULO III. MATRICES
En matemática, una matriz es un arreglo bidimensional
de números, 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 aplicación
lineal (dada una base). Las matrices se describen en el
campo de la teoría 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 1’s con la función 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 2
0 1 0 0
1 1 1 2
1 1
b
0 3 3 3
d
0 0 1 0 0 1 3 3 3 1
2 1
2 3 3 3
0 0 0 1 2 2 1 1 1 4
37
EJERCICIO 6: MATRICES
1. Crear una matriz de ceros con la función zeros
2. Crear una matriz diagonal con la función diag
3. Crear una matriz identidad con la función eye
4. Con la función meshgrid comúnmente 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
A 0 2 0 , B 2 2 1 ,
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
INTRODUCCIÓN
42
Comandos para adornar las graficas
43
Despliega grafica del seno en puntos
azules
Despliega grafica del coseno en
diamantes verdes
44
Graficación
A través de medición, 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 títulos y varias características
46
GRAFICAS CON MAS DE UNA LÍNEA
Podemos aplicar las gráficas 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
FUNCIÓN PEAKS
Del ejemplo anterior agregamos:
plot(peaks(100))
El cual peaks es una función de dos variables que
produce datos muestra útiles para demostrar
ciertas funciones de graficación. Se puede usar
peaks para demostrar la potencia de usar un
argumento de matriz en la función plot.
La entrada a la función plot creada por peaks es
una matriz de 100x100.
50
MÉTODO DE GRAFICAR
51
Gráficos 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 función 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 brújula( 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 gráficas de malla es:
mesh(x,y,z)
Primero se define una rejilla (meshgrid) que genera las matrices
x,y con la instrucción:
[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 rectángulos están 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 gráfica):
Shading flat
Shading interp
Surf
Surfl (X,Y,Z)
63
Variables y funciones
Variables simbólicas
Matlab incluye un bloque de matemáticas simbólicas (Symbolic Math
Toolbox) y provee un número grande de funciones matemáticas.
Las funciones se pueden consultar en la ventana de comandos escribiendo:
>> help specfun
>> help elfun
>> help el mat
64
La mayoría de las funciones matemáticas acepta como argumento números
imaginarios, por ejemplo al calcular la raíz cuadrada de un número negativo,
no produce error, sino un número complejo o imaginario.
Las funciones pueden generar cuando ocurre una división entre cero o
generar un cálculo matemático mas allá del límite permitido por la variable
realmax. ejemplo
65
Funciones en línea
Pueden ser generadas con el comando inline(‘expresión matemática
en forma de cadena’), ejemplo:
66
Evaluar la integral:
sen( x)
y dx
0
x
67
Variables simbólicas
Para la función: f 3x3 ax b
68
Variables simbólicas
69
GRAFICA DE UNA FUNCIÓN CON
EZPLOT() PAG 71
70
GRAFICA DE UNA FUNCIÓN CON
EZPLOT()
cos(10 x) (2+sin(x))
-1
-2
-3
-6 -4 -2 0 2 4 6
x
71
GRAFICA DE UNA FUNCIÓN CON
FPLOT()
-1
-2
72
-3
-10 -5 0 5 10
GRAFICA DE UNA FUNCIÓN 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
FUNCIÓN DISCRETA
STEM (Y) representa la secuencia de datos Y como se deriva del
eje x terminado con los círculos 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
Gráficas de superficies
Valor absoluto
77
Actividad Fundamental VII
En el pizarron se darán las instrucciones
78
CAPITULO IV
79
POLINOMIOS
80
OPERACIONES BÁSICAS DE POLINOMIOS
Los coeficientes de los polinomios están
definidos en MATLAB como vectores
renglón donde los coeficientes se
escriben en orden descendente
y x 1
y 3x 6 x 1
3 2
81
OPERACIONES BÁSICAS 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 análoga
Operaciones: Producto
Polinomio x escalar
ans =
9 63 0 % 9x3 + 6x2 + 3x
83
MULTIPLICACIÓN DE POLINOMIOS
Se utiliza la función conv()
y 3x 6 x 1
3 2
y x 1
y 3x 4 9 x 3 6 x 2 x 1 84
MULTIPLICACIÓN DE POLINOMIOS
Para multiplicar más de dos polinomios es necesario
repetir el proceso.
y 2 x 2 3 x 14
86
DIVISIÓN DE POLINOMIOS
3x 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
16x 9
16x 48
39
residuo87
DIVISIÓN DE POLINOMIOS
Se utiliza la función
[ q, r ]= deconv(a,b)
q: polinomio cociente
r: polinomio residuo 88
DERIVADA DE UN POLINOMIO
Se utiliza la instrucción: 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 gráfica
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 gráfica
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 FUNCIÓN
SPLINE(X,Y,V)
100
AJUSTE DE CURVAS CON LA FUNCIÓN
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 opción Spline Interpolant.
- Seleccionar la opción 5th degree polynomial.
- Seleccionar show equations.
- Plot residuals muestra el error en cada
aproximación.
- 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
SOLUCIÓN DE ECUACIONES
Para resolver ecuaciones Matlab utiliza la instrucción
solve().
106
SOLUCIÓN 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
ELABORACIÓN DE PROGRAMAS EN MATLAB
MATLAB proporciona un lenguaje de
programación. 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
automáticamente cuando las usamos por primera
vez.
113
INSTRUCCIONES BÁSICAS DE MATLAB
Sentencia If:
En su forma más simple, la sentencia if se describe como sigue:
if condicion
Sentencias
end
Para crear condiciones debemos conocer tanto los operadores
relacionales como los operadores lógicos.
Operadores relacionales Operadores lógicos
Operadores Operadores
relacionales lógicos
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 número 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 número 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 número 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 número positivo: ');
switch nro
case 1, disp('Ud. ingreso 1'),
case 2, disp('Ud. ingreso 2')
case 3, disp('Ud. ingreso 3')
otherwise, disp('El número es mayor que 3')
end
118
Sentencia For:
La sentencia for repite un conjunto de sentencias un
número predeterminado de veces. La siguiente
construcción 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 número 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
PROGRAMACIÓN BÁSICA CON MATLAB
Ejercicio 10.-
Realizar los programas propuestos por el maestro
(24)
123
VIII. APLICACIONES CON MATLAB:
PROCESAMIENTO DE IMAGEN
124
INTRODUCCIÓN
CONCEPTOS Y TÉCNICAS DE PROCESAMIENTO DE
IMÁGENES
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 BÁSICAS LÓGICAS
Suma:
134
FORMA CORTA PARA SUMAR
>>A=(‘imagen’)
>>B=(‘imagen’)
>>Suma=imadd(A,B);
>>Imshow(s).
136
RESTA Y MULTIPLICACIÓN
>>w=imsubtract(A,B);
>>imshow(w)
>>b = immultiply(A,B);
>>imshow(b)
EXAMEN ORDINARIO
138