Sei sulla pagina 1di 4

Westfalia Instituto de Tecnología de alische

Institut f para la geometría y las matemáticas práctica


Matemática de prácticas (MaPra) - 2002/2003
Prof. Dr. Wolfgang Dahmen - Sven Estados

tarea 2

Tiempo de elaboración: hasta el martes, 12 de noviembre de de 2002

Antecedentes matemática: determinación Zeros con el método de inclusión preservar

Elementos de C ++: Molienda, declaración de caso, funciones, entrada / salida, la integración de un fi kbibliothek Gra

tarea

Dada una función continua f: [x 0 x 1] → IR con exactamente un cero, por lo f (x 0) y f (x 1)


que tienen diferentes signos. Escribir un programa que calcula la raíz utilizando los métodos descritos en el texto de cuatro.

método iterativo, el orden y e fi zienzindex

Los siguientes procedimientos son los llamados iterativo Métodos de uno o más N¨aherungsl¨osungen cada nueva - Calcular
aproximación, - ff Entlich mejor ho. aplicación múltiple (iteración) este método proporciona entonces un arbitrariamente buena
aproximación ,. la orden p un método indica cómo es el error err yo entre la solución de la derecha y la N¨aherungsl¨osung por paso desarrollado:
err i + 1 ≤ c · errar p

yo con una constante c> 0. El E fi zienzindex ( por Traub)


BERDar tener en cuenta Además, el tamaño del esfuerzo F ur, viene dada por un paso tan
es cómo el error por evaluación de la función desarrollado. Por ello, la e fi es zienzindex q = p 1 / k,
en la que k es el número de evaluaciones de la función por la etapa de proceso. Dónde escribir programar las diferencias de velocidad
de métodos con diferentes índices significativamente.

Incluyendo métodos de conservación

Sobre la base de los dos valores de partida x 0 y x 1 y sus valores de la función adjuntos F i: = f (x i)
necesario x i ( i = 2, 3, , , de este modo se determinaron.) que los dos itera más recientes incluyen cero, por lo que mantiene los valores de
función asociados tienen signos diferentes. Para este propósito, las dos iteraciones x yo - 1 y x yo la línea recta a través de los puntos ( x yo - 1, F yo
- 1) y ( x yo F i) establecer. La intersección de esta línea con el x fue eje x i + primero Está entre x yo - 1 y x yo porque F yo - 1 y

F yo tienen diferentes signos. es F i + 1 = f (x i + 1) = 0, entonces usted ha encontrado la raíz y puede detener la iteración. Este método es el secante,
pero que no necesariamente se incluye la raíz, no hay garantía de que F yo y F i + 1 que tienen diferentes signos. Por lo tanto modi fi
decoramos así: Entregar x yo y x i + 1 no inclusión así ¨
Sobreescribimos valores x yo
y F yo por x yo - 1 y γ yo F yo - 1 con el parámetro γ i> 0. Así obligará x yo y x i + 1 proporcionar una inclusión. el parámetro γ yo influencia en la
intersección de la línea con el x Eje en el siguiente paso es, y tiene una considerable influencia zienzindex la e fi. Dependiendo de la
elección de γ yo
Se distinguen los siguientes cuatro métodos:

• Regula falsi, γ i = 1 (también forma primitiva de la Regula falsi llamada): Este es el más simple de los métodos utilizados aquí, pero
tiene la desventaja de que uno casi siempre uno en un lado con (véase el croquis.) x Valor "está colgando" y sólo el otro x valor
ann¨ahert de la solución -. Esto es f
para la relativamente pobre zienzindex e fi q = Un responsable.
El "H¨angenbleiben" en una x resultados de valor desde el hecho de que la intersección con la línea recta en todos los pasos adicionales
que nunca entre el punto cero y esto x El valor está. Esto ahora se referirá a que acompaña al reducir el valor de la función f (x) lograrse
debido a que el punto de intersección de la línea con el x Eje en la dirección de x se desplaza.

• método Illinois, γ i = 1 2: √ 3 ≈ 1442, que es una


Este sencillo truco aumenta las FFI e zienzindex el proceso de q = 3
representa una mejora significativa.

Otra mejora que supone Let γ yo selecciona una función de los valores calculados anteriormente:

• método Pegasus, γ i = f yo F i + F i + 1:
el parámetro γ yo se elige de tal manera que γ yo 1 - γ i = F yo F i + 1 se aplica. Aquí está la e fi ya zienzindex
en q ≈ 1642 rosa. Tenemos la ciencia e fi de la secante ( q = 1+ √ 5 2≈ 1618
- Dejar que la proporción de oro GR USSEN) ya ¨ ubertro ff s, sin la inclusión (en contraposición a
ser capaz de bajar de la secante).

• método de Anderson Bjorck:


A continuación, la siguiente idea subyacente: Deliver x yo y x i + 1 no inclusión, es desde el punto
x i + 1 un paso Newton por ( x yo - 1, F yo - 1), ( x yo F i) y ( x i + 1, F i + 1) llevado parábola dado
conduce a x i + 2 de obtener. Rem u ff final es ahora que este paso en nuestra
Deje sobre la terminología de ajuste. Evalúa a saber, la empleada en la etapa tangente Newton en el punto x yo - 1 desde, se
obtiene el resultado
( )
1 - Fi+1 F yo - primero
F yo

Así que uno elige γ i = 1 - F i + 1 F yo esto corresponde a (línea a través de los puntos x i + 1, F i + 1) y
( x yo - 1, γ yo F yo - 1) exactamente la tangente. La etapa de Newton es como se llevaron automáticamente de esta manera en la
siguiente iteración conduce. debería γ yo ≤ 0 sea, habrá que recurrir Notschritt una

Illinois paso hecho, por lo γ i = 0.5 conjunto. El proceso por lo resultante tiene la zienzindex e fi q ≈ 1710 o q ≈ 1682, dependiendo
de la final de la iteración.

condición de terminación, evaluaciones de la función

La iteración se termina cuando | f (x i + 1) | ≤ eps y (excepto para la regula falsi) | x i + 1 - x i | ≤


eps FER están llenos. Incluso si los tre s ff cero, es decir, en f (x i + 1) = 0, la iteración debe completar
ser. la función F debería ser llamado como máximo una vez en cada punto con el fin de no perder tiempo de cálculo innecesaria. Por
otra parte, a fin de no ¨ sobre FL para probar la memoria ussigen, que debe su

La creación de un programa para que no hay campos (matrices) necesidad.

las interfaces

La función de valores de inicio F etc. sea su programa de Unit2.h y unit2.o available.??The


ugung proporcionado, así subrutinas fi tratamiento y el control de los valores calculados c gra. En concreto, el archivo de cabecera
contiene Unit2.h las siguientes interfaces:

extern const int numero de ejemplos; eps dobles


extern;
enum {RegFalsi, Illinois, Pegasus, AndBjrk}; doble f (doble x);

el pago adicional enumeración sólo sirve para dar el nombre del proceso. El programa es considerablemente más ¨
sobre más claro si el método Pegaso en lugar del proceso 2 se llama. la
constante Número de ejemplos, la variable eps y la función F Explícate. Además, hay
Hay tres funciones que F para la selección del ejemplo y la evaluación y, en caso necesario
la evaluación gra fi ca de los resultados deberá:
void inicio (int por ejemplo, doble y x0, doble y x1, bool = true gráficos, int intervalo = 300);
C̈ompartir acerca de esta característica del medio ambiente con prácticas primera, ¿qué ejemplo ejemplo Que desea contar. En las variables x0
Compartir
y x1 entonces proporcionar los valores iniciales F ¨ para la iteración acerca de dar.

en Gráficos = true Usted obtiene más tarde en otra salida gra fi ca de los resultados, la
Gráficos = false Se puede apagarlos. el parámetro pausa especificar el tiempo en milisegundos que esperar entre dos temas gra fi cas.
Si se llama a la función con sólo tres parámetros son automáticamente Gráficos = true y Pausa = 300 establecidos (valores por defecto).
la función

(Método de salida int Void, doble xi, doble fi,


xiPlus1 doble, doble fiPlus1);
necesita comienzo y ser llamado después de cada iteración a los resultados provisionales a ¨ un cheque Ufen

y actualizar el Gra fi co. el parámetro proceso especificar cuál de los cuatro método anterior se utiliza (en lugar del nombre que puede,
alternativamente, los valores 0 para 3 usar). Al final del programa ¨
un cheque carreras

resultado void (método int, double x);


la aproximación, f para el cero calculado e incluyendo, si es necesario, la fi kausgabe Gra de.

Notas sobre el programa


Crear el programa en el archivo meina2.cpp. Escribir el programa para que se le pide al primer usuario después de que el número del
ejemplo de la computación. darle en este momento la posibilidad de que el programa mediante la introducción de una 0 dejar de fumar.
después comienzo han llamado, le pide al usuario qué método se podría utilizar. A continuación, se calcula el punto cero con los
procedimientos especificados. Tras el resultado ¨
un cheque ha sido tiradas,
Volver a la primera entrada UCK. Probar su programa möglichst robusto frente defectuosa
hacer entradas.

Notas sobre la compilación y enlazado


En su programa meina2.cpp atar alguna definición del entorno de prácticas con el archivo de cabecera Unit2.h a. Para generar el OFFF
uhrbaren programa que necesitan cuando la vinculación de la
archivos de objetos unit2.o y IGL.o. El primer archivo de objeto que proporciona el entorno práctico, el segundo es el Gra fi co
available.??The ugung. funciones de salida Así, el gra fi C, M Cuando Lin USSEN
ken, además de las opciones - -lpthread -lGL -L / usr / X11 / lib -lX11 -lXi especifique. Estas opciones hacen que el (en el sistema)
Bibliotecas libpthread, libGL, libX11 y libXi estar involucrados. el - L / usr / X11 / lib acciones al enlazador que pasó las últimas dos
bibliotecas en el / usr / X11 / lib debe buscar. Para simplificar el proceso de compilación y existe un enlace de llamada Hacer fi l, lo que
simplifica esto. Si su programa

meina2.cpp llama, sólo tiene hacer introducir como un comando. De lo contrario, puede Archivo de texto Makefile adaptar apropiado.

literatura
• M. Dowell, P. Jarret: ( método Illinois)
A fi modi Regula falsi método para calcular la raíz de una ecuación, BIT 11 (1971) 168-174

• M. Dowell, P. Jarret:
El Método "Pegasus" para calcular la raíz de una ecuación, BIT 12 (1972) 503-508

• N. Anderson, a. Bjorck:
Un nuevo método de alto orden de regula falsi Tipo de cálculo de la raíz de una ecuación, BIT 13 (1973), 253-264
• JF Traub:
Métodos iterativos para la resolución de ecuaciones, Prentice-Hall, Inc., Englewood Cli ff s, NJ (1964)

Regula Falsi

x x
3 4

x x x
1 2 0

Illinois

x
3

x x x x
1 2 4 0

Pegaso

1- γ

1- γ
γ
x γ
3

x x x x
1 2 4 0

Anderson Björk

x1 x x x
2 3 0

Potrebbero piacerti anche