You are on page 1of 138

PROGRAMACIÓN CON MATLAB

1 MC. EMILY SAUCEDO MARISCAL


UANL- FIME
emilynadiezda@hotmail.com
PROGRAMA
 CAPITULO I. INTRODUCCION
 CAPITULO II. VECTORES

 CAPITULO III. MATRICES

 CAPITULO IV. GRAFICACION

 CAPITULO V. POLINOMIOS

 CAPITULO VI. INTEGRALES

 CAPITULO VII. PROGRAMACION

 CAPITULO VIII. APLICACIONES

2
PONDERACION

 Examenes 50%
 Tareas 10%
 Actividades fund. 20%
 Participación (asistencia) 10%

 Trabajo final 10%

3
MATLAB
 ¿Que es Matlab?
 Matrix Laboratory

 Ambiente amigable y de fácil aprendizaje


 Reducción de tiempo de programación

 El proceso de operaciones con matrices


 Cuenta con miles de funciones, con su uso se ahorra
tiempo de programación

 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)

 Computational Finance  Database Connectivity and


Reporting
 Financial Toolbox  Database Toolbox
 Financial Derivatives Toolbox  MATLAB Report Generator
 Datafeed Toolbox
 Fixed-Income Toolbox
 Econometrics Toolbox
6
SIMULINK
 Simulink®
Simulink  Simulation Graphics
 Simulink Report Generator  Simulink 3D Animation
 Gauges Blockset
 Fixed-Point Modeling
 Simulink Fixed Point  Control System Design and
Analysis
 Event-Based Modeling  Simulink Control Design
 Stateflow  Aerospace Blockset
 SimEvents  Simulink Design Optimization

 Physical Modeling  Signal Processing and


 Simscape Communications
 SimMechanics  Signal Processing Blockset
 SimPowerSystems  Communications Blockset
 SimDriveline  RF Blockset
 SimHydraulics  Video and Image Processing
Blockset
 SimElectronics
7
SIMULINK
 Code Generation  Rapid Prototyping and
 Real-Time Workshop HIL Simulation
 Real-Time Workshop Embedded  xPC Target
Coder
 Stateflow Coder  xPC Target Embedded
 Simulink HDL Coder Option
 Target Support Package  Real-Time Windows
 DO Qualification Kit Target
(for DO-178)
 IEC Certification Kit
(for IEC 61508 and ISO 26262)  Verification, Validation,
 Simulink PLC Coder and Test
 Simulink Verification and
Validation
 Simulink Design Verifier
 SystemTest
 Embedded IDE Link
 EDA Simulator Link
8
CAPITULO I
INTRODUCCIÓN A MATLAB:
LA VENTANA DE COMANDOS

 Ventana donde introducir los comandos a


ejecutar
 el cursor aparece siempre después del símbolo
>>

 Ejemplo: operaciones aritméticas


 Introduzca, presionando enter/intro después del
ultimo carácter
>>9+2
>>9-1
>>9*2
>>9/2 9
MATLAB 2013B
ACTIVIDAD FUNDAMENTAL I.
CONOCER MATLAB

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

 clc limpia comandos de la ventana

 diary almacena la sesion para presentar

 dos Ejecuta comandos

 format Ajusta el formato de visualizacion para la salida

 edit Edita o crea un nuevo m-file

 help ayuda
 clear remueve todo lo que esta en las ventanas

 who, whos lista las variables de la ventana

 clf borra las figuras


12
 why quien?
FUNCIONES MATEMÁTICAS
Trigonometric cos Cosine of argument in radians
acos Inverse cosine; result in radians cosd Cosine of argument in degrees
acosd Inverse cosine; result in degrees cosh Hyperbolic cosine
acosh Inverse hyperbolic cosine cot Cotangent of argument in radians
acot Inverse cotangent; result in radians cotd Cotangent of argument in degrees
acotd Inverse cotangent; result in degrees coth Hyperbolic cotangent
acoth Inverse hyperbolic cotangent csc Cosecant of argument in radians
acsc Inverse cosecant; result in radians Cscd Cosecant of argument in degrees
acscd Inverse cosecant; result in degrees Csch Hyperbolic cosecant
acsch Inverse hyperbolic cosecant hypot Square root of sum of squares
asec Inverse secant; result in radians sec Secant of argument in radians
asecd Inverse secant; result in degrees secd Secant of argument in degrees
asech Inverse hyperbolic secant sech Hyperbolic secant
asin Inverse sine; result in radians sin Sine of argument in radians
asind Inverse sine; result in degrees sind Sine of argument in degrees
asinh Inverse hyperbolic sine sinh Hyperbolic sine of argument in
radians
atan Inverse tangent; result in radians
tan Tangent of argument in radians
atan2 Four-quadrant inverse tangent
tand Tangent of argument in degrees
atand Inverse tangent; result in degrees
atanh Inverse hyperbolic tangent Tanh Hyperbolic tangent

13
FUNCIONES MATEMÁTICAS

exp Exponential complex Construct complex data from real and


expm1 Compute exp(x)-1 accurately for small imaginary components
x conj Complex conjugate
log Natural logarithm cplxpair Sort complex numbers into complex
log10 Common (base 10) logarithm conjugate pairs
log1p Compute log(1+x) accurately for small i Imaginary unit
x imag Imaginary part of complex number
log2 Base 2 logarithm and isreal Determine whether input is real array
dissect floating-point numbers into
exponent and mantissa j Imaginary unit
nextpow2 Next higher power of 2 real Real part of complex number
nthroot Real nth root of real numbers sign Signum function
pow2 Base 2 power and scale floating-point unwrap Correct phase angles to produce
numbers smoother phase plots
reallog Natural logarithm for nonnegative
real arrays
ceil Round toward infinity
realpow Array power for real-only output
fix Round toward zero
realsqrt Square root for nonnegative real
arrays floor Round toward minus infinity
sqrt Square root idivide Integer division with rounding option
mod Modulus after division
abs Absolute value and rem Remainder after division
complex magnitude round Round to nearest integer
angle Phase angle

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)

4. 0.5 + 4.1 − 3ˆ(2 ∗ 2). 3.(1 + i)/(2 − i)


4.(1 + i) (1 − 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.

1.Ordenar todos los elementos entre corchetes y asignarlos a la variable

a=[0,1,2,3,4,5,6,7,8,9]

2.Crear una serie de datos con el operador “:”

a=0:9

3.Crear una serie de datos con el operador “:” e indicarle el intervalo entre elementos

a=0:1:9

4.Utilizar la función “linspace”

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

suma Ambos vectores deben tener el mismo numero de


A+B elementos

resta Ambos vectores deben tener el mismo numero de


A-B elementos.

multiplicación Ambos vectores deben tener el mismo numero de


A*B elementos. El producto dependera del tipo de
vectores: renglón (horizontal) o columna (vertical).

Multiplicación Ambos vectores deben tener el mismo numero de


A.*B elemento a elementos. Ambos vectores deben ser del mismo
elemento tipo: renglón o columna.

25
OPERACIONES CON VECTORES
sintaxis operación condición

división Es equivalente a B*inv(A). B/A = (A'\B')‘. Ambos


A/B vectores deben tener el mismo numero de
elementos.
División elemento La división común aplicada a cada elemento.
A./B a elemento Ambos vectores deben tener el mismo numero de
elementos.
division Es equivalente a inv(A)*B. X=A\B es la solucion
A\B de la ecuación AX=B calculada por eliminación
gaussiana

Multiplicacion A.\B = B./A . Ambos vectores deben tener el mismo


A.\B elemento a numero de elementos.
elemento

26
OPERACIONES CON VECTORES
sintaxis operación condición

exponencial Eleva los elementos de la matriz A a la potencia B.


A^B Eleva A a las potencias de B. Una de las “matrices”
debe ser escalar.

exponencial Eleva los elementos de la matriz A a las potencias


A.^B B. Ambos A y B pueden ser matrices, escalare o
combinados

transpuesta Calcula la transpuesta de un vector o matriz.


A’ Para matrices complejas esto es el conjugado
complejo de la transpuesta

transpuesta Calcula la transpuesta de un vector o matriz.


A.’ Para matrices complejas no implica la
conjugación

27
CREACIÓN DE VECTORES

 Ejercicios 3: introduzca los siguientes vectores


>> A=[1 2 1]
a) a  1, 2,1
A=
1 
b   2 
1 2 1
b)
1 
c) c   2,3, 4, , 25
d   20,18, , 18, 20
T
d)
 0.1 
 0.2 
 
e) e   0.3 
 
 
100  28
ACTIVIDAD FUNDAMENTAL II
VECTORES
 De la siguiente matriz A de 4 x 3 y el vector b de
3x1 calcular:
 A*b

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)

 El valor por defecto de p es 2 que es correspondiente a


la conocida norma euclidiana, así para el vector.
x= ⦏ 3 4 -2 ]
a) Obtener la norma

31
EJERCICIO 4: OPERACIONES CON
VECTORES

 Introduzca el vector u=[1,2,3,…,10], y calcule


1. El producto escalar u.u
2. El producto uT.u
3. El producto escalar usando el comando dot
4. El producto elemento a elemento u.*u

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

1. Introduciendo cada elemento


A=[1, 2, 3; 4, 5, 6; 7, 8, 9]
>> A=[1, 2, 3; 4, 5, 6; 7, 8, 9]

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

 Una vez definidos los vectores de valores x y valores y,


Matlab hace fácil la creación de graficas.

 La instrucción básica para graficar es plot (x,y) donde


x es un vector de puntos así como y es un vector de
datos de la misma dimensión del vector x.

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

title(' experimento uno')


>> % agregamos título
>> xlabel('tiempo, seg')
>> ylabel('distancia,pies')
>> grid on
>> % grafica con cuadricula

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);

 >> hold on;

 >> 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

Con las funciones antes realizadas de seno,


coseno y tangente, realizar una figura con las
tres graficas y escribir el nombre a la figura de
‘Actividad Fundamental V’. Y a cada grafica el
nombre correspondiente.

58
GRAFICAS EN 3 DIMENSIONES
La sintaxis:
plot3(x,y,z,s)

x,y,z--- son las coordenadas de la función


s---son las opciones para la grafica.
Ejemplo 2.11, pag 48

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

Realizar el ejemplo 2.13. (pag 48)


Libro de Matlab. Baez. 2° Ed.

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

Si en una expresión simbólica queremos sustituir una


variable por otra o por una constante para calcular su
valor en un punto, utilizamos la orden subs:
subs(f, antiguas, nuevas) Sustituye las variables
antiguas por las nuevas. Si hay más deuna variable las
escribiremos entre llaves y separada por comas.

69
GRAFICA DE UNA FUNCIÓN CON
EZPLOT() PAG 71

 Se utiliza para graficar una función definida con el comando


sym().
 x = sym ('x') crea la variable simbólica con el nombre de 'x' y
almacena el resultado en x. x = sym ('x', 'real') también se
supone que x es real, por lo que conj (x) es igual a x. alfa =
sym ('alpha') y r = sym ('Rho', 'real') son otros ejemplos.

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()

 Con la función fplot() es posible establecer el intervalo


de la gráfica.

-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()

plot() es una función que opera en


forma vectorial.

fplot() y ezplot() son funciones que


trabajan en forma simbólica.

75
Ejercicio 9 transformada Z

Grafica de la magnitud de la Transformada Z de la


función:

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

 En matemáticas, un polinomio1 2 3 es una expresión


matemática constituida por un conjunto finito de
variables (no determinadas o desconocidas) y
constantes (números fijos llamados coeficientes),
utilizando únicamente las operaciones aritméticas de
suma, resta y multiplicación, así como también
exponentes enteros positivos.

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

¡Ambas representaciones deben ser de


igual largo (cantidad de elementos)!

% (x + 1) + (3x3 + 2x2 + x)
»[0011]+[3210]
ans =
82

3 2 2 1 % la resta es análoga
Operaciones: Producto

Polinomio x escalar

»[3210]*3 % (3x3 + 2x2 + x) 3

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  5x10  2 x9  9 x8  12 x 7  18x 6  42 x5  23x 4  20 x3  60 x 2  32 x


85
POLINOMIOS

y  2 x 2  3 x  14

Para evaluar un polinomio se utiliza la


función polyval()

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𝑥

1.- suma los polinomios a+b y c+d


2.- resta a-d y b-c
3.- multiplica a*b
4.- divide a/d
5.- deriva cada polinomio
6.- integra cada polinomio 91
Examen de
medio curso
92
VARIABLES Y FUNCIONES
AJUSTE DE CURVAS

Para expresar datos por medio de un polinomio,


Matlab utiliza la instrucción polyfit(,x,y,n).
x,y: son los vectores de datos.
n: es el orden del polinomio

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)

Esta función está formada por varios polinomios de 3er


grado.

x, y: coordenadas de los puntos.


V: vector de puntos por donde
quisiéramos que el spline yt tomara los
valores del vector y.

100
AJUSTE DE CURVAS CON LA FUNCIÓN
SPLINE(X,Y,V)

Se observa que la función spline() da 101

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

 La operación de integración indefinida de una


función f(x) se denota:
F= int(f)=‫𝑥𝑑 𝑥 𝑓 ׬‬
 Donde la nueva función F satisface que:
diff(F)= f(x)
 F se conoce también como la antiderivada de f y
MATLAB la encontrará siempre que exista.
 la instrucción quad se puede usar para integrar
numéricamente una función.
 Su formato quad( funcion,a,b), donde funcion es
la definición de la función que deseamos integrar y
a y b son los límites. 108
EJEMPLOS
a)F= int(f) =‫𝑥𝑑 𝑥 𝑓 ׬‬ 1
b)F= int(f) =‫׬‬0 2𝑥𝑑𝑥

∞ −𝑥
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:

Esta sentencia realiza la función análoga a un conjunto


if...elseif concatenados. Su forma general es:

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

donde condición puede ser una expresión vectorial o


matricial. Las sentencias se siguen ejecutando mientras
haya elementos distintos de cero en condición, es decir,
mientras haya algún o algunos elementos true. El bucle
termina cuando todos los elementos de
condicion son false (es decir, cero).
121
Ejemplo de uso de while:
nro = input('Ingrese un número positivo: ');
i=0;
while i<=nro
disp(i);
i=i+1;
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

 Una imagen puede ser definida como una función de


dos dimensiones, f (x, y), donde las coordenadas x e y
se definen como el espacio (plano) y la amplitud de f en
cualquier par de coordenadas (X, y) se llama la
intensidad o nivel de gris de la imagen en ese punto.

 El procesamiento digital de imágenes es el


conjunto de técnicas que se aplican a las imágenes
digitales con el objetivo de mejorar la calidad o facilitar
la búsqueda de información.
 El
campo de procesamiento digital de
imágenes se refiere a la transformación
imágenes digitales por medio de un
computador digital.

 Una imagen digital se compone


de un número finito de elementos, cada uno de
los cuales tiene un lugar en particular , se
conocen como elementos de imagen, píxeles.
 >> f=imread('cameraman.tif')

 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:

Acrónimo del inglés picture element, "elemento de


imagen" es la menor unidad homogénea en color
que forma parte de una imagen digital, ya sea
esta una fotografía, un fotograma de vídeo o un
gráfico.
CORRECCION DE IMAGENES

 •Son las operaciones más sencillas y más


utilizadas del tratamiento digital de imágenes.
 •El objetivo general es destacar detalles de
interés.
 •En ejemplo básico es el aumento de contraste de
una imagen para que tenga "mejor aspecto".
 •Es un concepto muy subjetivo, a diferencia de la
restauración.
 •Los algoritmos son concretos para una aplicación
EJEMPLO: AUMENTO DE CONTRASTE

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

You might also like