Clase 2 Aplicaciones Numéricas en Investigación de Operaciones

Preview:

DESCRIPTION

Clase 2 de Aplicaciones Numéricas en Investigación de Operaciones, Prof. Gonzalo Müller, gmullerb@mail.com, Facultad de Ingeniería, UCV

Citation preview

Aplicaciones Numéricas en Investigación de Operaciones2

Prof. Gonzalo Müller

gmullerb@mail.com

Postgrado de Investigación de Operaciones

Facultad de Ingeniería

Universidad Central de Venezuela

Clase anterior

� Pautas de curso.� Matlab

� Ambiente de trabajo Matlab� Funciones Matemáticas� Variables

Definición de nombre

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 2

� Definición de nombre� Asignación

� Arreglos� acceder a un elemento o submatriz específica

� Operadores Aritméticos� por elemento entre matrices: .*, ./, .^

Clase anteriorClase anterior

� Definición de Funciones

� Encabezado

� Cuerpo

� Variable de Retorno

� Nombre del archivo y de función deben coincidir.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 3

� Nombre del archivo y de función deben coincidir.

� ; se coloca al final de una instrucción para evitar lapresentación en pantalla del resultado.

Bits y BytesBits y Bytes

El computador solo es capaz de almacenar un conjunto de 0s y 1s.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 4

Bits y Bytes

El computador sólo es capaz de almacenar un conjunto de 0s y 1s.

� Bit: es la localidad de almacenamiento más pequeña.

� Físicamente constituye un elemento biestable queesta encendido o apagado.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 5

esta encendido o apagado.

� Es capaz de almacenar un 1 ó un 0.

Bit Almacena

Apagado 0

Encendido 1

Bits y Bytes

� Aislado sirve de poco por lo que se trabaja enforma conjunta.

Ejemplo: 2 bits puede representar 4 situaciones:

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 6

Bit 1 Bit 2 Almacena

00

01

10

11

Bits y BytesBits y Bytes

Ejemplo: 3 bits puede representar 8 situaciones:

Bit 1 Bit 2 Bit 3 Almacena

000

001

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 7

001

010

011

100

101

110

111

Bits y Bytes

� Byte: es un conjunto de 8 bits.

� En los computadores la localidad de menor tamañoes un byte.

LocalidadTamaño: 8 bits

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 8

LocalidadTamaño: 8 bits

Sistemas de Numeración

� El computador sólo es capaz de almacenar unconjunto de 0s y 1s, por lo tanto si se desea almacenarun valor como 524 es necesario realizar la conversióna 0s y 1s, lo que lleva a utilizar diferentes sistemas denumeración.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 9

� Sistema Binario.

Sistemas de Numeración

� Sistema numeración Decimal.

� Alfabeto: 0 1 2 3 4 5 6 7 8 9

� Cardinalidad del alfabeto: 10

� Cada dígito tiene un valor relativo según la posiciónque ocupa.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 10

que ocupa.

Ejemplo:

8 x 102 + 7 x 101 + 6 x 100 = 876

Posición 2 1 0Digito 8 7 6

Sistemas de Numeración

� Sistema numeración Binario.

� Alfabeto: 0 1

� Cardinalidad del alfabeto: 2

� Cada dígito tiene un valor relativo según la posiciónque ocupa.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 11

que ocupa.

� Notación : NÚMERO2

Sistemas de NumeraciónSistemas de Numeración

Ejemplo: Obtener la representación decimal de 1012:

Posición 2 1 0Digito 1 0 1

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 12

1 x 22 + 0 x 21 + 1 x 20 = 5

Sistemas de Numeración

� En general, para obtener la representación decimal de un número:

∑−

=

1

*Dígitos

kk BaseDígitoNÚMERO

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 13

∑=

=

0

*k

k BaseDígitoNÚMERO

Números

� Representación de los números:

� Punto fijo.

� Punto flotante.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 14

Números

� Punto Fijo.

� Se especifica una cantidad de fija de dígitos antes ydespués del punto decimal.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 15

0 1 2 3 4 5 0 012.345

n1 n2

punto decimal

Números

� Punto flotante: el punto decimal no esta fijo.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 16

punto decimal

Números

� Punto flotante: el punto decimal no esta fijo.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 17

punto decimal

Números

� Se rige según la norma IEEE 754.

� La forma como es almacenado un número realestaba basado en la notación científica:

5.67x1056

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 18

5.67x1056

5.67→ mantisa

56→ exponente

Números

�Mantisa normalizada

0.1 ≤ Mantisa normalizada < 1

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 19

0.567x1057

0.567→ mantisa normalizada

57→ exponente

Números

� Solo sería necesario almacenar:

567

57

� Existe un ahorro en memoria:

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 20

0

.

x

10

Números

� En general:

Exponente Mantisa

s n bits m bits

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 21

� La Mantisa es un número binario.

� El Exponente es un número entero sin signo.

� La Base es 2, no 10:

(-1)Signo x 1.Mantisa x 2 Exponente – Bias

Números

� Real de 4 bytes, Precisión Sencilla:

� En el exponente se puede almacenar:

Exponente Mantisa

s 8 bits 23 bits

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 22

0 … 255 (1 … 254)

� 6 cifras significativas.

� 16777216 puntos en el rango.

(-1)Signo x 1.Mantisa x 2 Exponente – 127

Números

� El mayor número que se puede representar:

1.11111111...12 x 2 127

3.4028234663852886 x 10 38

� En número más pequeño que se puede representar:

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 23

1.17549435 x 10 -38

� La separación entre un número y otro:

1.1920929 x 10 -7

Números

� Real de 8 bytes , Precisión Doble:

Exponente Mantisa

s 11 bits 52 bits

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 24

� En el exponente se puede almacenar:

0 … 2047(1 … 2046)

� 15 cifras significativas.

� 9007199254740992 puntos en el rango.

(-1)Signo x 1.Mantisa x 2 Exponente – 1023

Números

� El mayor número que se puede representar:

1.11111111...12 x 2 1023

1.7976931348623158 x 10 308

� En número más pequeño que se puede representar:

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 25

2.2250738585072014 x 10 -308

� La separación entre un número y otro:

2.2204460492503131 x 10 -16

NúmerosNúmeros

Real de 4 Byte

03.4028234663852886 x 10 38-3.4028234663852886 x 10 38

1.17549435 x 10-38- ∞ ∞

1.1920929 x 10-7

Dos número consecutivos de subconjunto finito

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 26

Real de 8 Byte

01.7976931348623158 x 10 308-1.7976931348623158 x 10 308

2.2250738585072014 x 10-308- ∞ ∞

2.2204460492503131 x 10-16

Dos número consecutivos de subconjunto finito

Números

� Un número que no puede ser representado se redondea, esto quiere decir:

0.d d d … d Si 0 ≤ d ≤ 4

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 27

0.d1 d2 d3 … dt Si 0 ≤ dt+1 ≤ 4

0.d1 d2 d3 … dt + 10-t Si dt+1 ≥ 5n =

0.d1 d2 d3 … dt Si dt+1 = 0

0.d1 d2 d3 … dt + 2-t Si dt+1 = 1n =

NúmerosNúmeros

n = 0.d1 d2 d3 … dt dt+1 dt+2 dt+3 dt+4 dt+5

información perdida

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 28

t = 5

1.234567

1.234568

Son iguales

1.23457

Limitaciones computacionales

� El conjunto de número que se puede representar en el computador es finito.

� Esto ocasiona problemas:

� Al ingresar los datos de entrada.

� Al representar resultados intermedios resultados

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 29

� Al representar resultados intermedios resultadosde las operaciones matemáticas.

� Aunque los datos de entrada pertenezcan alconjunto de números, el resultado de las operacionespuede no pertenecer.

Limitaciones computacionalesLimitaciones computacionales

Ejemplo:

a = 7.35e+210

b = 9.01e+201

c = a*b

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 30

who lista las variables definidas

Limitaciones computacionalesLimitaciones computacionales

Ejemplo:

a = 7.35e+210

b = 9.01e+201

c = a*b Overflow Error: Número más grande de lo que puede ser representado

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 31

who lista las variables definidas

representado

Limitaciones computacionalesLimitaciones computacionales

Ejemplo:

a = 7.35e-210

b = 9.01e-201

c = a*b

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 32

whos lista las variables definidas, sus tipos y sus tamaños

Limitaciones computacionalesLimitaciones computacionales

Ejemplo:

a = 7.35e-210

b = 9.01e-201

c = a*b Underflow Error: Número más pequeño de lo que puede ser representado

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 33

whos lista las variables definidas, sus tipos y sus tamaños

representado

Limitaciones computacionalesLimitaciones computacionales

Ejemplo:

c = 0.5 – 0.1 – 0.1 - 0.1 – 0.1 – 0.1

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 34

Limitaciones computacionalesLimitaciones computacionales

Ejemplo:

c = 0.5 – 0.1 – 0.1 - 0.1 – 0.1 – 0.1

Debería ser 0!

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 35

Limitaciones computacionalesLimitaciones computacionales

Ejemplo:

c = 0.5 – 0.1 – 0.1 - 0.1 – 0.1 – 0.1

Debería ser 0!

La representación binaria de 0.1

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 36

0.000110011001100110011001100110011...

Requiere un número infinito de dígitos por lo tanto el computador trabaja con un aproximación de 0.1.

Errores

� Establecer la certeza de los resultados obtenidos.

� Básicamente dos factores afectan ésta certeza:

� errores de redondeo

� errores de aproximación.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 37

Errores

� Errores de redondeo:

� Debido a la representación de valores con elconjunto finito de números que maneja elcomputador.

� Omnipresente

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 38

� Omnipresente

� Siempre existirá una incertidumbre en el últimodigito decimal obtenido

Errores

� Errores de truncamiento:

� Error obtenido como resultado de la discretizaciónde un problema real.

� Método que obtiene soluciones aproximadas per separa un problema real.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 39

para un problema real.

� Esta diferencia entre la solución aproximada y la realse conoce como error de truncamiento.

Ejemplo: el calculo de una integral definida.

� No se debe confundir con el truncamiento que seproduce en el redondeo.

Errores

� Estos errores se propagan a medida que se realizan operaciones

� Errores pequeños al comienzo se propagan y seconvierte errores muy grandes a medida que serealizan operaciones

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 40

realizan operaciones

error error error ...

Errores

� Recomendación:

� Utilizar la precisión adecuada que garantice lacantidad de dígitos que requiere el problema.

� De igual manera se debe tener cuidado al presentarlos resultados colocar la cantidad adecuada de

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 41

los resultados colocar la cantidad adecuada dedecimales, ya que se pueden establecer conclusioneserradas.

Inevitablemente siempre habrá un error presente

sin importar cuantas precauciones se tomen

Errores

� En líneas generales siempre :

� Se expresará un resultado con una precisión igual omenor a la menor de las precisiones de los númerosutilizados.

#.###

#.##

#.##

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 42

� Sin la precisión obtenida en el resultado es menorque la precisión de los números utilizados elresultado es exacto.

#.##

#.###

#.##

#.# Exacto!

Números en Matlab

� Matlab representa los números de las 2 maneras:

� Punto Fijo.

� Punto Flotante.

Para construir una constante en punto flotante:

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 43

9.88426x10-45→ 9.88426E-45 ó 9.88426e-45

Mx10N

MeN

MENM: Punto Fijo

N: Entero con o sin signo

Números en Matlab

� Mantisa:

� 0 ≤ M < 10

� Contiene p dígitos conoce precisión.

� Exponente:

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 44

� min ≤ N ≤ max

Números en Matlab

� Generalmente Matlab presenta la información con 7 cifras significativas, punto fijo:

� 3 dígitos antes del punto decimal.

� 4 dígitos después del punto decimal.

###.####

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 45

###.####

� En caso de que se superen los 3 dígitos lo presenta con punto flotante con:

� 4 dígitos después del punto decimal.

#.####e###

Números en Matlab

� Se puede llamar a la función format para cambiar la presentación de la información

format tipo

short 3 y 4

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 46

long 3 y 14

short e 1 y 4 + exponente

long e 1 y 14 + exponente

bank * y 2

+ +, – y 0

Gráficas

� Matlab permite graficar curvas y superficies en 2D y 3D.

Las principales funciones para graficar son:

� plot

� plot3

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 47

� plot3

� surf

� mesh

Gráficas de Líneas

� plot: Realiza graficas de curvas en 2D.

Se puede emplear de diferentes maneras:

1.

plot(Y)

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 48

produce un gráfico de líneas tal que:

x índice del elemento de Y

y elemento de Y

Gráficas de LíneasGráficas de Líneas

2.

plot(X,Y)

produce un gráfico de líneas tal que:

x elemento de X

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 49

x elemento de X

y elemento de Y

Gráficas de LíneasGráficas de Líneas

3.

plot(X1,Y1, X2, Y2,..., XN, YN)

produce N gráficos de líneas en una misma imagen tal que:

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 50

que:

...

x elemento de X1

y elemento de Y1

x elemento de XN

y elemento de YN

Gráficas de LíneasGráficas de Líneas

4.

plot3(X1,Y1,Z1,..., XN, YN, ZN)

produce N gráficos de líneas 3D en una misma imagen tal que:

x elemento de X1

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 51

x elemento de X1

y elemento de Y1

z elemento de Z1

x elemento de XN

y elemento de YN

z elemento de ZN

...

Gráficas de Líneas

� Es posible establecer colores y estilos diferentes a los por defecto.

� Luego de cada curva se indica el estilo y color.

plot(X1,Y1,‘estilocolor1’,

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 52

plot(X1,Y1,‘estilocolor1’,

...,XN,YN,‘estilocolorN’)

� Estilo y color es una combinación de:

color+estilo+marcador

Gráficas de Líneas

� colores, estilos y marcadores:color estilo marcador

c

m

y

r

cyan

mangenta

amarillo

rojo

-

- -

:

-.

+

o

x

*

+

o

x

*

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 53

r

g

b

w

k

rojo

verde

azul

blanco

negro

-. *

s

d

^

>

<

p

*

Gráficas 3D

� En graficas 3D, la superficie se levanta sobre una malla de puntos en plano X-Y:

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 54

X-Y

Gráficas 3D

� En graficas 3D, la superficie se levanta sobre una malla de puntos en plano X-Y:

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 55

X-Y

Gráficas 3D

� En graficas 3D, la superficie se levanta sobre una malla de puntos en plano X-Y:

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 56

-4

-2

0

2

4

-4

-2

0

2

4

0

5

10

15

20

X-Y

X-Y

X-Y-Z

Gráficas 3D

� meshgrid: define la malla de puntos.

� Dados el rango de X y de Y en 2 vectores

� Construye dos matrices, una con filas iguales para Xy otra con columnas iguales para Y que define lamalla.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 57

malla.[XS,YS] = meshgrid(X, Y)

XS YS

X1 Xn

X1 Xn

Y1

Yn

Y1

Yn

Gráficas 3D

� meshgrid: define la malla de puntos.

� Dados el rango de X y de Y en 2 vectores

� Construye dos matrices, una con filas iguales para Xy otra con columnas iguales para Y que define lamalla.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 58

malla.[XS,YS] = meshgrid(X, Y)

XS YS

X1 Xn

X1 Xn

Y1

Yn

Y1

Yn

Grid

Gráficas 3D

� mesh: Realiza graficas 3D como una malla de líneas que definen la superficie.

mesh(X,Y,Z)

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 59

� surf: Realiza graficas 3D como una malla de cuadriláteros coloreados que definen la superficie.

surf(X,Y,Z)

Gráficas

� En general para graficar en 2D y en 3D, es necesario:

1. Definir el dominio de la función

� Se define el vector (2D) o las matrices (3D) con losvalores del domino en orden.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 60

Gráficas

� En general para graficar en 2D y en 3D, es necesario:

1. Definir el dominio de la función

� Se define el vector (2D) o las matrices (3D) con losvalores del domino en orden.

2. Definir el rango de la función

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 61

2. Definir el rango de la función

� Se define un vector (2D) o matriz (3D) con losvalores del rango en orden.

� Cada elemento del vector de dominio tendrá sucorrespondencia en el vector o matriz de rango.

Gráficas

� En general para graficar en 2D y en 3D, es necesario:

1. Definir el dominio de la función

� Se define el vector (2D) o las matrices (3D) con losvalores del domino en orden.

2. Definir el rango de la función

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 62

2. Definir el rango de la función

� Se define un vector (2D) o matriz (3D) con losvalores del rango en orden.

� Cada elemento del vector de dominio tendrá sucorrespondencia en el vector o matriz de rango.

3. Graficar utilizando la función adecuada.

GráficasGráficas

Ejemplo: Realizar grafica 2D.

1. Definir el vector de valores de x.X = –3:0.5:3

2. Definir el vector de valores de y.

-3 -2 -1 0 1 2 3-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 63

2. Definir el vector de valores de y.

Y = sin(X)

3. Graficar.

plot(X, Y)

clf limpia la ventana de gráfica

GráficasGráficas

Ejemplo: Realizar grafica 2D.

1. Definir el vector de valores de x.X = –3:0.5:3

2. Definir el vector de valores de y.

-3 -2 -1 0 1 2 3-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 64

2. Definir el vector de valores de y.

Y = sin(X)

Y1 = cos(X)

3. Graficar.plot(X, Y, X, Y1)

plot permite colocar más de una gráfica

GráficasGráficas

Ejemplo: Realizar grafica 3D.

1. Definir las matrices de la malla.x = –3:0.5:3

y = –3:0.25:3

-4

-2

0

2

4

-4

-2

0

2

4

-2

-1

0

1

2

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 65

y = –3:0.25:3

[X,Y] = meshgrid(x, y)

2. Definir el vector de valores de z.Z = sen(X) + cos(Y)

3. Graficar.

mesh(X,Y,Z)

GráficasGráficas

Ejemplo: Realizar grafica 3D.

1. Definir las matrices de la malla.

[X,Y] = meshgrid(–3:0.5:3, –3:0.25:3)

2. Definir el vector de valores de z.

-4

-2

0

2

4

-4

-2

0

2

4

-2

-1

0

1

2

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 66

2. Definir el vector de valores de z.

Z = sen(X) + cos(Y)

3. Graficar.

surf(X,Y,Z)

clc limpia la ventana de comandos

Ajustando la Gráfica

� axis: ajusta los ejes a un rango dado

axis([xmin xmax ymin ymax]) Ajusta eje en 2Daxis([xmin xmax ymin ymax

zmin zmax])Ajusta eje en 3D

axis auto Auto ajusta

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 67

� grid: muestra u oculta malla.

grid on/off

axis auto Auto ajustaaxis equal Marcas de ejes igualesaxis square Ejes del mismo tamaño

Documentando la Gráfica

� xlabel: coloca un titulo en el eje x

xlabel(‘titulo’)

� ylabel: coloca un titulo en el eje y

ylabel(‘titulo’)

� zlabel: coloca un titulo en el eje z

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 68

� zlabel: coloca un titulo en el eje z

zlabel(‘titulo’)

� title: coloca el titulo principal de la gráfica

title(‘titulo’)

� legend: agrega una leyenda a la gráfica

legend(‘leyenda1’, ..., ‘leyendaN’)

Construir la siguiente gráfica en Matlab:

1/x-sen(x)*xy 3=

Construir la siguiente gráfica en Matlab:

Tramo 1

Tramo 2

Tramo 3

La función text permite agregar un texto ala gráfica en un posición especifica X, Y

Tramo 1

Tramo 4

La trayectoria de una partícula en el espacio estadescrita por las siguientes ecuaciones:

x = t

y = t * cos(t)y = t * cos(t)

z = e0.2t

construir una gráfica en Matlab de la trayectoriadescrita por la partícula hasta un tiempo de 4π

Construir la siguiente gráfica en Matlab:

10

15

20

-4

-2

0

2

4

-4

-2

0

2

4

0

5

22 y+x=z

Construir la siguiente gráfica en Matlab:

2 222 22 yx)/yxsen(z ++=

Gráficas

� scatter: gráfica de conjunto de puntos en el plano X-Y.

scatter(X,Y)

� hist: histograma.

hist(Y,N)

N: tamaño del grupo

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 74

N: tamaño del grupo

� stem: gráfica de errores.

stem(X,Y)

X: posición X

Y: tamaño del error

Gráficas

� stairs: gráfica de errores continua.

stairs(X,Y)

X: posición X

Y: tamaño del error

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 75

� bar, barh: gráfica de barras.

bar(X,Y)

X: posición X

Y: alto de la barra

Gráficas

� pie: gráfica de torta.

pie(X)

X: datos

� scatter3: gráfica de conjunto de puntos en el plano X-Y-Z.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 76

Y-Z.

scatter3(X,Y,Z)

� pie3: gráfica de torta.

pie(X)

X: datos

Gráficas Múltiples

� Matlab permite presentar múltiples gráficas en una misma imagen, esto se logra con el comando subplot.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 77

Gráficas Múltiples

� subplot: divide la imagen en una matriz de imágenes independientes y establece cual es la subventana activa

subplot(m,n,a)

m: cantidad de filas.

n: cantidad de columnas.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 78

n: cantidad de columnas.

a: número de la subventana activa.

1 ≤ a ≤ m*n

1 2 ... n

n+1 n+2 ... ...

... ... ... m*n

Gráficas Múltiples

� Uso de subplot:

1. Se selecciona la subventana a utilizar:subplot(m,n,a1)

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 79

Gráficas Múltiples

� Uso de subplot:

1. Se selecciona la subventana a utilizar:subplot(m,n,a1)

2. Se realizan todas las operaciones gráficas de esa subventana.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 80

subventana....

Gráficas Múltiples

� Uso de subplot:

1. Se selecciona la subventana a utilizar:subplot(m,n,a1)

2. Se realizan todas las operaciones gráficas de esa subventana.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 81

subventana....

3. Se selecciona la siguiente subventanasubplot(m,n,a2)

...

Gráficas Múltiples

� Uso de subplot:

1. Se selecciona la subventana a utilizar:subplot(m,n,a1)

2. Se realizan todas las operaciones gráficas de esa subventana.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 82

subventana....

3. Se selecciona la siguiente subventanasubplot(m,n,a2)

4. Se realizan todas las operaciones gráficas de esa subventana.

...

Gráficas Múltiples

� Uso de subplot:

1. Se selecciona la subventana a utilizar:subplot(m,n,a1)

2. Se realizan todas las operaciones gráficas de esa subventana.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 83

subventana....

3. Se selecciona la siguiente subventanasubplot(m,n,a2)

4. Se realizan todas las operaciones gráficas de esa subventana.

... ...

Gráficas Múltiples

� Uso de subplot:

1. Se selecciona la subventana a utilizar:subplot(m,n,a1)

2. Se realizan todas las operaciones gráficas de esa subventana.

Subventana1

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 84

subventana....

3. Se selecciona la siguiente subventanasubplot(m,n,a2)

4. Se realizan todas las operaciones gráficas de esa subventana.

... ...

Gráficas Múltiples

� Uso de subplot:

1. Se selecciona la subventana a utilizar:subplot(m,n,a1)

2. Se realizan todas las operaciones gráficas de esa subventana.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 85

subventana....

3. Se selecciona la siguiente subventanasubplot(m,n,a2)

4. Se realizan todas las operaciones gráficas de esa subventana.

... ...

Subventana2

Gráficas Múltiples

� Uso de subplot:

1. Se selecciona la subventana a utilizar:subplot(m,n,a1)

2. Se realizan todas las operaciones gráficas de esa subventana.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 86

subventana....

3. Se selecciona la siguiente subventanasubplot(m,n,a2)

4. Se realizan todas las operaciones gráficas de esa subventana.

... ...

más Subventanas

La trayectoria de una partícula en el espacio estadescrita por las siguientes ecuaciones:

x = t

y = t * cos(t)y = t * cos(t)

z = e0.2t

Construir una gráfica en Matlab de la trayectoriadescrita por la partícula hasta un tiempo de 4π , en elespacio, en el plano x, en el plano y en el plano z.

Gráficas de una función

� fplot: gráfica una función dada en un rango específico.fplot(funcion,rango)

funcion: función a graficar

� Texto con la función o funciones separadas por

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 88

� Texto con la función o funciones separadas porcomas

‘[funcion1(x), funcion2(x), …]’

rango: vector con lo limites del intervalo de x a graficar.

[xmin xmax]

Debe ser x Debe ser x

Gráficas de una funciónGráficas de una función

Ejemplo:

X = [-3 3];

fplot(‘sin(x)’, X);

fplot(‘[sin(x), cos(x)]’, X);

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 89

fplot(‘[sin(x), cos(x)]’, X);

Apuntador a una función

� Matlab ofrece otro tipo de dato:

function_handle

Contiene toda la información para encontrar yejecutar una función.

� Su principal utilidad es pasar como parámetros

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 90

� Su principal utilidad es pasar como parámetrosfunciones.

� Un function_handle consiste del carácter arrobaseguido del nombre de la función (Sólo el nombre):

@funcion

Apuntador a una funciónApuntador a una función

Ejemplo:

fplot también recibe un function_handle comoparámetro para la función.

X = [-3 3];

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 91

X = [-3 3];

fplot(@sin, X);

Construir una función en Matlab para evaluar:

y = x3*sen(x) – 1/x

� Utilizar la función fplot con un function_handlepara graficar la función en para valores de x entre0.5 y 5.

Resumen

� Bits y Bytes

� Sistemas de Numeración

� Sistema Binario de Numeración

� Números:

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 93

� Punto Fijo.

� Punto flotante

� Precisión Sencilla

� Precisión Doble

� Redondeo

Resumen

� Limitaciones computacionales

� Overflow Error

� Underflow Error

� Errores

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 94

� de redondeo

� de truncamiento(discretización de un problema real)

� Números en Matlab

Resumen

� Gráficas de Línea: plot, plot3

� Gráficas 3D: surf, mesh, meshgrid

� Ajustando la gráfica: axis, grid.

� Documentando la gráfica: *label, title, legend.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 2 – GM – 95

� Otras gráficas: scatter, hist, stem, stairs, bar, pie, scatter3

� Gráficas Múltiples: subplot

� Gráfica de una función: fplot

� Apuntador a función: function_handle

Recommended