Logo Studenta

3 MetodoFalsaPosicion

Esta es una vista previa del archivo. Inicie sesión para ver el archivo original

#include <stdio.h>
#include <math.h>
#define MAX_ITER 100 // Número máximo de iteraciones
#define EPSILON 1e-6 // Tolerancia para el error
// Definición de la función a la que se le buscará la raíz
double f(double x) {
 return cos(x) - x;
}
// Función que implementa el método de la falsa posición
double false_position(double a, double b) {
 double c;
 int i = 0;
 while (i < MAX_ITER) {
 c = (a*f(b) - b*f(a)) / (f(b) - f(a)); // Calcula el nuevo valor de c
 if (fabs(f(c)) < EPSILON) // Verifica si se alcanzó la tolerancia
 break;
 else if (f(c)*f(a) < 0) // Verifica en cuál subintervalo se encuentra la raíz
 b = c;
 else
 a = c;
 i++;
 }
 return c;
}
int main() {
 double a = 0, b = 1; // Intervalo inicial
 double root = false_position(a, b);
 printf("La raíz de la función es: %lf", root);
 return 0;
}

Continuar navegando