clase 2 aplicaciones numéricas en investigación de operaciones

95
Aplicaciones Numéricas en Investigación de Operaciones 2 Prof. Gonzalo Müller [email protected] Postgrado de Investigación de Operaciones Facultad de Ingeniería Universidad Central de Venezuela

Upload: gmullerb

Post on 16-Nov-2014

542 views

Category:

Documents


3 download

DESCRIPTION

Clase 2 de Aplicaciones Numéricas en Investigación de Operaciones, Prof. Gonzalo Müller, [email protected], Facultad de Ingeniería, UCV

TRANSCRIPT

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

Aplicaciones Numéricas en Investigación de Operaciones2

Prof. Gonzalo Müller

[email protected]

Postgrado de Investigación de Operaciones

Facultad de Ingeniería

Universidad Central de Venezuela

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

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: .*, ./, .^

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

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.

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

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

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

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

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

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

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

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

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

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 =

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

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

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

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

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

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

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.

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

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

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

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

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

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!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

...

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

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

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

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

*

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

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.

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

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.

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

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

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

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

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

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)

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

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

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

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

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

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

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

Construir la siguiente gráfica en Matlab:

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

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

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

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

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π

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

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

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

Construir la siguiente gráfica en Matlab:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

...

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

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.

...

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

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.

... ...

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

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.

... ...

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

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

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

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

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

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.

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

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

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

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

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

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

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

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

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

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.

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

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

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

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

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

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