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

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

Embed Size (px)

DESCRIPTION

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

Citation preview

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

Aplicaciones Numéricas en Investigación de Operaciones5

Prof. Gonzalo Müller

[email protected]

Postgrado de Investigación de Operaciones

Facultad de Ingeniería

Universidad Central de Venezuela

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

Clase AnteriorClase Anterior

� Metodología para resolución de un problema� Algoritmo� Partes de un algoritmo:

� Entrada� Proceso� Salida

� Diagramas Rectangulares Estructurados

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

Clase AnteriorClase Anterior

� Estructuras básicas � Secuencial.� Selectiva.

� Sencilla� Doble

� Repetitiva.� Hacer Mientras� Mientras

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

Clase AnteriorClase Anterior

� Estructuras básicas en Matlab:� if … end� if … else … end� while … end

� Expresiones Lógicas� Operadores Relaciónales: <, >, ==, <=, >=, ~=� Operadores Lógicos: &, | , ~

� Scripts

� Tips de eficiencia: Inicialización, Vectorización, Liberación, Opción dummy.

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

Resolución Numérica de un problema

Datos de problema: A, B, C, D

...

Solución

Enfoque 1

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

Resolución Numérica de un problema

Datos de problema: A, B, C, D

...

Solución

Enfoque 2

Solución Posible (Profeta)

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

Resolución Numérica de un problema

� Métodos Secuenciales ó Directos.

� Métodos Iterativos.

�Métodos Evolutivos.

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

Resolución Numérica de un problema

Solución

Métodos

Directos

Datos

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

Resolución Numérica de un problema

� Métodos Secuenciales: Se realiza una secuencia de pasos que obtienen la solución del problema.

Solución

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

Resolución Numérica de un problema

Solución

Métodos

Iterativos

Datos

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

Resolución Numérica de un problema

� Los métodos iterativos parten de una solución inicial que se aproxima a la solución el método procede a mejorar la solución.

� El proceso se repite hasta completar un número definido de iteraciones o hasta obtener un solución aceptable.

� Se requiere:

� Solución inicial.

� Un algoritmo para mejorar la solución.

� Una regla de parada.

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

Resolución Numérica de un problema

� Métodos Iterativos: Se realiza un proceso de búsqueda cíclica por un número fijo de iteraciones.

Solución

k < NV

k = 0

N: número de iteraciones

k = k + 1Soluciónk

Solución0

Búsqueda de nueva solución

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

Resolución Numérica de un problema

� Métodos Iterativos: Se realiza un proceso de búsqueda cíclica por un número fijo de iteraciones.

Solución = SoluciónN

k < NV

k = 0

N: número de iteraciones

k = k + 1Soluciónk

Solución0

Búsqueda de nueva solución

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

Resolución Numérica de un problema

� Métodos Evolutivos: Se realiza un proceso de búsqueda cíclica que parte de una solución inicial que evoluciona hasta una solución aceptable.

� Aunque existe un número fijo de iteraciones el proceso puede detenerse antes al encontrar una solución aceptable.

Solución

k < N && Solución no aceptable

V

k = k + 1Soluciónk

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

Resolución Numérica de un problema

� Métodos Evolutivos: Se realiza un proceso de búsqueda cíclica que parte de una solución inicial que evoluciona hasta una solución aceptable.

� Aunque existe un número fijo de iteraciones el proceso puede detenerse antes al encontrar una solución aceptable.

Solución = Soluciónk

k < N && Solución no aceptable

V

k = k + 1Soluciónk

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

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

Resolución Numérica de un problema

� Iteración: representa una transformación de una solución xk a solución xk+1:

xk+1xk

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

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

Resolución Numérica de un problema

� Iteración: representa una transformación de una solución xk a solución xk+1:

x0 x1 xn

Iteración 1

Iteración 2

Iteración n

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

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

Resolución Numérica de un problema

� Solución Aceptable: Es necesario definir regla de paradas que establezcan si la solución en estudio ha alcanzado un valor el cual se considere suficientemente bueno para finalizar el proceso de búsqueda.

� Distancia alcanza en M iteraciones:

║xk – xk – M║< ε� Distancia relativa en una iteración:

║xk+1 – xk║/║ xk║< ε

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

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

Resolución Numérica de un problema

� Solución Aceptable: Es necesario definir regla de paradas que establezcan si la solución en estudio ha alcanzado un valor el cual se considere suficientemente bueno para finalizar el proceso de búsqueda.

� Distancia alcanza en M iteraciones:

║xk – xk – M║< ε� Distancia relativa en una iteración:

║xk+1 – xk║/║ xk║< ε Error relativo. Si el valor es alto no se considera una buena aproximación a la solución

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

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

Resolución Numérica de un problema

�Mejora en la solución luego de M iteraciones

|f(xk) – f(xk – M)| < ε�Mejora relativa en la solución en una iteración:

|f(xk) – f(xk + 1)| / |f(xk)| < ε� Cercanía a un valor meta M:

|f(xk) – M|< ε� Cercanía relativa a un valor meta M:

|f(xk) – M| / |f(xk)| < ε� etc.

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

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

Algebra clásica

La mayoría de los métodos la utilizan como herramienta básica

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

Método Tipo Trunca

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

Sucesión, Sumatoria, Productoria Directo No

� Sucesión:

� Sumatoria:

� Productoria:

g(N)g(2)g(1)g(k)N

1k

+++=∑=

L

g(N)g(2)g(1)g(k)N

1k

∗∗∗=∏=

L

{ } LL ,g(2)g(1),g(k),X,XX 21k ===

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

� Construir una función en Matlab que dado la cantidad de términos (N) y la función (g(x)) retorne la sucesión, la sumatoria y la productoria correspondiente.

� Sin utilizar las funciones de Matlab

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

� Construir una función en Matlab que dado la cantidad de términos (N) y la función (g(x)) retorne la sucesión, la sumatoria y la productoria correspondiente.

� Utilizar las funciones de Matlab: sum, prod.

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

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

Evaluación de un polinomio

P(x) = ∑akxk

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

Método Tipo Trunca

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

∑akxk Directo No

� Forma tradicional:

P(x) = a0 + a1 x1 + a2 x2 + ··· + ak xk + ··· + an xn

� Forma factorizada:

P(x) = a0 +

(a1+(a2+··· (ak+··· (an-2+(an-1+ an x)x)x··· x)x··· x)x)x

Pn-1(x) = an-1 + x Pn(x)

Pn(x)=an

Pn-2(x) = an-2 + x Pn-1(x)

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

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

∑akxk

� Forma factorizada:

� P(x) = P0(x)

Pn(x) = anPk–1(x) = ak–1(x) + x Pk(x)

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

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

∑akxk en Matlab

� polyval: Evalúa un polinomio.

polyval(coeficientes, x)

� x: puede ser un vector o una matriz

Ejemplo:

x2 – 2x + 3

polyval([1 –2 3], 2)

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

� Construir una función en Matlab que evalué un polinomio dado el vector de coeficientes del polinomio y el valor de x .

� Forma tradicional.

� Forma factorizada.(Sin recursividad)

� Sin utilizar la función de Matlab polyval.

Las funciones tic y toc de Matlab permiten establecer

el tiempo que tomo un conjunto de operaciones

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

� Construir una función en Matlab que evalué un polinomio dado el vector de coeficientes del polinomio y el valor de x .

� Forma tradicional.

� Forma factorizada.(Sin recursividad)

� Forma factorizada.(Con recursividad)

� Sin utilizar la función de Matlab polyval.

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

� Dados los siguiente polinomios:

P(x) = 8 + 3x + 5x2 + 3x6

P(x) = 5 – 4x + 9x3 – ½ x5

� Evaluar por ambas formas y polival:� x = 0.3 x = 0.333333333333

� x = 0.1 x = 0.111111111111

� Y comparar:� Cantidad de sumas y multiplicaciones.

� Resultados.

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

� Dados los siguiente polinomios:

P(x) = 8 + 3x + 5x2 + 3x6

P(x) = 5 – 4x + 9x3 – ½ x5

� Evaluar por ambas formas y polival:� x = 0.3 x = 0.333333333333

� x = 0.1 x = 0.111111111111

� Y comparar:� Cantidad de sumas y multiplicaciones.

� Resultados.

Tradicional:

½ * n (n -1)

multiplicaciones

Factorizada:

n multiplicaciones

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

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

Evaluación de la derivada de un polinomio

P′(x)

P(x) = ∑akxk

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

Método Tipo Trunca

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

P′(x) Directo No

� Partiendo de la forma factorizada:

� 1º Derivada: P′(x) = P′0(x)

P′n(x) = 0

P′k–1(x) = Pk(x) + x P′k(x)

� 2º Derivada: P″(x) = P″0(x)

P″n(x) = 0

P″k–1(x) = 2P′k(x) + x P″k(x)

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

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

P′(x) en Matlab

� polyder: Calcula la derivada de un polinomio.

polyder(coeficientes)

Ejemplo:

(x2 – 2x + 3)′

polyder([1 –2 3])

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

� Construir una función en Matlab que evalué la un polinomio, su 1º derivada y su 2º derivada partiendo de la forma factorizada dado el vector de coeficientes del polinomio y el valor de x.

� P(x)

� P′(x)

� P″(x)

� Coeficientes

� x

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

� Construir una función en Matlab que evalué la un polinomio, su 1º derivada y su 2º derivada partiendo de la forma factorizada dado el vector de coeficientes del polinomio y el valor de x.

�Utilizando la función de Matlab polyder y polyval.

� P(x)

� P′(x)

� P″(x)

� Coeficientes

� x

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

� Construir una función en Matlab que calcule la derivada de un polinomio dado el vector de coeficientes del polinomio.

� Sin utilizar la función de Matlab polyder.

� Coeficientes � Coeficientes

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

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

Raíces de una ecuación cuadrática

a x2 + b x +c = 0

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

Método Tipo Trunca

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

Discriminante Directo No

a x2 + b x +c = 0

2a4acbb

x2 −±−

=

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

� Construir una función en Matlab que obtenga las raíces de una ecuación cuadrática.

� Sin utilizar las funciones de Matlab para hallar raíces.

� Coeficientes

(Vector)

� Raices

(Vector)

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

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

Raíces de una función

f(x) = 0

Aunque una función puede tener raíces complejas, estas suelen ser de poco interés ya que no tienen significado

físico

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

Método Tipo Trunca

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

Bisección Iterativo No

� Raíces Reales.

� Toma en cuenta los cambios de signo de la función.

� Parte de un intervalo de búsqueda el cual en cada iteración se reduce

� Es el método más confiable. N=ln((b – a)/ε)/ln(2)

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

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

Bisección

� Dato inicial: a{0}, b{0}

x{0} = (a{0} + b{0})/2

� Esquema iterativo:

x{k+1} = (a{k+1} + b{k+1})/2

a{k+1} = x{k} a{k+1} = a{k}

b{k+1} = b{k} b{k+1} = x{k}

signo(f(a{k})) == signo(f(x{k}))

V F

f(a{k}) = 0, f(b{k}) = 0 óf(x{k}) = 0

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

� Construir una función en Matlab que obtenga las raíces de una función dada utilizando el método de bisección.

Debe retornar:

� raíz

� matriz del proceso:

x{k} f(x{k}) a{k} b{k}

� f(x)

�[a b]

�e

� Raíz

�Matriz proceso

10sen(x)ef(x)

1xf(x)2x

2

−=

−=

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

Método Tipo Trunca

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

Secante Iterativo No

� Raíces Reales.

� Corte con el eje x de una recta estimada como la interpolación entre dos puntos.

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

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

Secante

� Dato inicial:

x{0}, x{1}

� Esquema iterativo:

x{k+1} = x{k} – [f(x(k})(x{k} – x{k – 1})]/[f(x{k}) – f(x{k – 1})]

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

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

Secante

Pros Contras

�Fácil de implementar

� No requiere la derivada de la función.

�Más estable que Newton-Raphson

�Requiere 2 puntos iniciales de estimación

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

� Construir una función en Matlab que obtenga las raíces de una función dada utilizando el método de Secante. Debe retornar:

� raíz

� matriz del proceso:

x{k} f(x{k}) x{k-1} x{k-2}

10sen(x)ef(x)

1xf(x)2x

2

−=

−=

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

Método Tipo Trunca

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

Newton-Raphson Iterativo No

� Raíces Reales.

� Corte de la tangente al polinomio en el punto de evaluación con el eje x.

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

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

Newton-Raphson

� Dato inicial:

x{0}

� Esquema iterativo:

x{k+1} = x{k} – f(x{k})/f´(x{k})

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

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

Newton-Raphson

� Condición de Convergencia Suficiente y Necesaria:

|f(x)f´´(x)/[f´(x)]2|< 1, ∀x

� Si el polinomio es tangente a el eje x el método puede no converger (f´(x{k}) = 0).

Pros Contras

�Fácil de implementar

�Requiere 1 puntos inicial de estimación

�Más rápido

�Requiere la derivada de la función.

�La función debe ser derivable

�Puede divergir

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

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

Newton-Raphson

� Divergencia del método

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

� Construir una función en Matlab que obtenga las raíces de una función dada utilizando el método de Newton-Raphson. Debe retornar:

� raíz

� matriz del proceso:

10sen(x)ef(x)

1xf(x)2x

2

−=

−=

x{k-1}f(x{k}) x{k}

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

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

Búsqueda incremental

� Si bien es cierto se puede tener una ideal inicial de la raíz en algunos problemas físicos, no siempre es el caso.

� Se puede definir una malla de estudio dentro de un intervalo de incertidumbre en función de hallar los ceros de la función.

bax

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

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

Búsqueda incremental

1. Se define una malla con intervalos δ

� Si el intervalo es lo suficientemente pequeño es muy probable que contenga una sola raíz.

� Si el intervalo es grande que la separación de las raíces se perderán algunas.

bax

δ

bax

δ

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

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

Búsqueda incremental

2. Se buscan cambios de signos

� Si f(x1) y f(x2) tiene signos opuestos, entonces al menos una raíz se encuentra en el intervalo (x1, x2).

� Raíces dobles no será detectadas.

bax

bax

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

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

Búsqueda incremental

� Algunas singularidades puede confundirse con raíces.

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

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

f(x) en Matlab

� fzero: Determina una raíz de la función partiendo de un valor dado.

fzero(coeficientes, x)

� x: solución inicial.

Ejemplo:

f1(x) = x2 – 2x + 3 = 0

fzero(@f1, 0.5)

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

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

Raíces de un polinomio

∑akxk = 0

Aunque el polinomio puede tener raíces complejas, estas suelen ser de poco interés ya que no tienen significado

físico

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

Método Tipo Trunca

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

Laguerre´s Iterativo No

� Dato inicial:

x{0}

� Esquema iterativo:

[ ])(xQ)nW(x1)(n)Q(x )(xU

)(xU)(xU)(xU

)(xU)(xU)(xU )U(x

)U(xn

xx

{k}2{k}{k}{k}

{k}{k}{k}

{k}{k}{k}{k}

{k}{k}1}{k

−−±=

>

>=

−=

±

+−−

−++

+

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

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

Laguerre´s

Q(x{k}) = P′(x{k})/P(x{k})

W(x{k}) = Q2(x{k}) – P″(x{k})/P(x{k})

Si los coeficientes son reales las raíces

complejas siempre vienen en pares

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

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

División sintética de un polinomio

� En líneas generales estos métodos permiten obtener 1 raíz del polinomio.

� Una vez obtenida esta raíz se procede a eliminarla del polinomio y así obtener un polinomio Q de menor grado:

Q(x) = b0 + b1 x1 + b2 x2 + ··· + bk xk + ··· + bn–1 xn–1

donde:

bn–1 = anbk–1 = rbk + ak

r: raíz

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

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

Regla de Descartes

Sea un polinomio P(x) con coeficientes reales tales que P(0) ≠ 0:

Número de Raíces Positivas es igual al número de cambios de signo de termino a termino o menor a este por un entero par (raíces complejas viene en pares).

Número de Raíces Negativas es igual al número de cambios de signo de termino a termino de P(-x) o menor a este por un entero par.

Los términos de coeficientes nulos no se toman en cuenta

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

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

Regla de Descartes

Ejemplo:

P(x) = 8 + 3x + 5x2 + 3x6↓

0 raíces positivas

P(x) = 5 – 4x + 9x3 – ½ x5↓

3 raíces positivas ó

1 positiva y 2 complejas

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

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

Regla de Descartes

P(x) = x4 – 5x2 + 4↓

2 raíces positivas ó

0 raíces positivas y 2 complejas

P(–x) = x4 – 5x2 + 4↓

2 raíces negativas ó

0 raíces negativas y 2 complejas

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

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

Regla de Descartes

P(x) = x4 – 5x2 + 4↓

2 raíces positivas y 2 raíces negativas ó

2 raíces positivas y 2 raíces complejas ó

2 raíces negativas y 2 raíces complejas ó

4 complejas

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

� Construir una función en Matlab que obtenga la cantidad de raíces positivas y la cantidad de raíces negativas de un polinomio dado el vector de coeficientes.

� Coeficientes � Cantidad de raíces positivas

� Cantidad de raíces negativas

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

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

∑akxk = 0 en Matlab

� roots: Determina las raíces de un polinomio.

roots(coeficientes)

Ejemplo:

x2 – 2x + 3 = 0

roots([1 –2 3])

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

� Construir un script en Matlab que calcule todas las raíces reales de un polinomio por bisección utilizando búsqueda incremental.

�El método debe:

�Graficar el polinomio y las soluciones.

�Almacenar en un archivo el gráfico obtenido.

�Almacenar en un archivo las soluciones.

�Almacenar en un archivo las iteraciones:

a{k} tiempob{k}x{k}

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

� Construir un script en Matlab que calcule todas las raíces reales de un polinomio por Newton-Raphsonutilizando división sintética.

�El método debe:

�Graficar el polinomio y las soluciones.

�Almacenar en un archivo el gráfico obtenido.

�Almacenar en un archivo las soluciones.

�Almacenar en un archivo las iteraciones:

tiempoPk x{k}

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

� Construir un script en Matlab que calcule todas las raíces reales de un polinomio por Laguerre´sutilizando división sintética.

�El método debe:

�Graficar el polinomio y las soluciones.

�Almacenar en un archivo el gráfico obtenido.

�Almacenar en un archivo las soluciones.

�Almacenar en un archivo las iteraciones:

tiempoPk x{k}

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

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

Resumen

� Resolución Numérica de un problema� Métodos Secuenciales ó Directos.� Métodos Iterativos.

� Métodos Evolutivos.� Iteración.� Solución Aceptable.

� Algebra clásica:� Sucesión, Sumatoria, Productoria.

� Evaluación de un Polinomio: � Forma tradicional, Forma factorizada.� polyval.

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

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

Resumen

� Evaluación de la derivada de un polinomio:

� polyder.

� Raíces de una ecuación cuadrática.

� Raíces de una función:

� Bisección.

� Secante.

� Newton-Raphson.

� Búsqueda incremental.

� fzero.

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

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

Resumen

� Raíces de un polinomio:

� Laguerre´s.

� División sintética de un polinomio.

� Regla de Descartes.

� roots.