Você está na página 1de 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 
 Robust Control Toolbox 
 MATLAB Distributed Computing Se  Model Predictive Control Toolbox 
rver   Aerospace Toolbox  

 Signal Processing and Communications
 Math and Optimization  Signal Processing Toolbox 
 Optimization Toolbox   Signal Processing Blockset 
 Symbolic Math Toolbox   Communications Toolbox 
 Partial Differential Equation Toolbo  Filter Design Toolbox 
Filter Design HDL Coder 
x  

 Global Optimization Toolbox   Wavelet Toolbox 
 Fixed­Point Toolbox 
 RF Toolbox 
 Statistics and Data Analysis
 Statistics Toolbox   Image and Video Processing
 Image Processing Toolbox 
 Neural Network Toolbox   Video and Image Processing Blockset 
 Curve Fitting Toolbox   Image Acquisition Toolbox 
 Spline Toolbox   Mapping Toolbox 

 Model­Based Calibration Toolbox 
5
TOOLBOXES
 Test and Measurement  Application Deployment
 Data Acquisition Toolbox   MATLAB Compiler 
 Spreadsheet Link EX 
 Instrument Control Toolbox 
(for Microsoft Excel) 
 Image Acquisition Toolbox 
 SystemTest 
 OPC Toolbox   Application Deployment 
 Vehicle Network Toolbox Targets
 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 
 Financial Toolbox  Reporting
 Financial Derivatives Toolbox   Database 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
 Simscape   Signal Processing and 
Communications
 SimMechanics 
 Signal Processing Blockset 
 SimPowerSystems 
 Communications Blockset 
 SimDriveline 
 SimHydraulics 
 RF Blockset 
 SimElectronics 
 Video and Image Processing Blockse 7

SIMULINK
 Code Generation  Rapid Prototyping and 
 Real­Time Workshop  HIL Simulation
 Real­Time Workshop Embedded Cod  xPC Target 
er 
 Stateflow Coder   xPC Target Embedded Opt
 Simulink HDL Coder  ion 
 Target Support Package   Real­Time Windows Target
 DO Qualification Kit (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  8
 EDA Simulator Link 
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
>>9/2
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=
11
signal
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
 whyquien?
FUNCIONES MATEMÁTICAS
Trigonometric cos Cosine of argument in radians
acos Inverse cosine; result in radians cosd Cosine of argument in degrees
acosdInverse 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
acotdInverse cotangent; result in degrees coth Hyperbolic cotangent
acothInverse hyperbolic cotangent csc Cosecant of argument in radians
acsc Inverse cosecant; result in radians Cscd Cosecant of argument in degrees
acscdInverse cosecant; result in degrees Csch Hyperbolic cosecant
acschInverse hyperbolic cosecant hypot Square root of sum of squares
asec Inverse secant; result in radians
sec Secant of argument in radians
asecdInverse 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
asindInverse 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
Tanh Hyperbolic tangent 13
atanh Inverse hyperbolic tangent
FUNCIONES MATEMÁTICAS

exp Exponential complex Construct complex data from real and 


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

16
17
18
 Ejemplos

19
 Ejemplos 

20
EJERCICIOS 2
 Evalúe las siguientes variables

�p �
a) y = 3sin � �
�4 �
�p p �
b) y = 3 cos � + �
�4 2�
c) sinn = 0.9
d) cosn = -0.42
e) y= 5 sin ( p / 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 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).

A.*B Multiplicación
elemento a
Ambos vectores deben tener el mismo numero de
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 = ��
     1     2     1
b) 2
��
��
1
��
c) c = [ 2,3, 4,L , 25]
d = [ 20,18,L , -18, -20]
T
d)
�0.1 �
�0.2 �
� �
e) e=�0.3 �
� �
�M �

�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�
� 1 0 0�

a=�
0 2 1�� c=
0
� �

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 1 3 3 3

1�

0 0 1 0� �
� 1�
� � �
2 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
��
1
A=�
0
� 2 0 �
�, 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
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 = 3 x 3 + 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
 
» [ 1 1 1 1 ] + [ 3 2 1 0 ]

ans = 
4  3  2  1  % = 4x3 + 3x2 + 2x + 1

¡Ambas representaciones deben ser de 
igual largo (cantidad de elementos)!

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

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

Polinomio x escalar

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

ans =
9   6 3  0  % 9x3 + 6x2 + 3x

83
MULTIPLICACIÓN DE POLINOMIOS
Se utiliza la función conv()

y = 3x 3 + 6 x 2 + 1
y = x +1

y = 3x + 9 x + 6 x + x + 1
4 3 2
84
MULTIPLICACIÓN DE POLINOMIOS
  Para multiplicar más 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 - 23x 4 - 20 x 3 - 60 x 2 - 32 x
85
POLINOMIOS

y = -2 x + 3 x + 14
2

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

- 5x2 + x + 9
5 x + 15 x
2

16 x + 9
- 16 x - 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)
b)
c)
d)

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)= ­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 108
a y b son los límites.
EJEMPLOS
 a)F= int(f) =  b)F= int(f) =

 
c) 

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

Você também pode gostar