clase aplicaciones numéricas en investigación de operaciones 05
DESCRIPTION
Clase 5 de Aplicaciones Numéricas en Investigación de Operaciones, Prof. Gonzalo Müller, [email protected], Facultad de Ingeniería, UCVTRANSCRIPT
![Page 1: Clase Aplicaciones Numéricas en Investigación de Operaciones 05](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/1.jpg)
Aplicaciones Numéricas en Investigación de Operaciones5
Prof. Gonzalo Müller
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/23.jpg)
� 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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/24.jpg)
� 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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/29.jpg)
� 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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/30.jpg)
� 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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/31.jpg)
� 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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/32.jpg)
� 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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/35.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/36.jpg)
� 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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/37.jpg)
� 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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/38.jpg)
� 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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/39.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/40.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/41.jpg)
� 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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/42.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/43.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/44.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/45.jpg)
� 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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/46.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/47.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/48.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/49.jpg)
� 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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/50.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/51.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/52.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/53.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/54.jpg)
� 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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/55.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/56.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/57.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/58.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/59.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/60.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/61.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/62.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/63.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/64.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/65.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/66.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/67.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/68.jpg)
� 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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/69.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/70.jpg)
� 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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/71.jpg)
� 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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/72.jpg)
� 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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/73.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/74.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062419/5571f36f49795947648e0588/html5/thumbnails/75.jpg)
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.