Respuesta :
Explicación:
¡Entendido! A continuación, te proporciono el código en C++ que calcula la raíz de la función (f(x) = \cos(2x) + 0.5x) utilizando el método de Newton-Raphson. Asegúrate de ejecutarlo en DEV C++ para obtener los resultados deseados:
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
// Función f(x) para la cual queremos encontrar la raíz
double f(double x) {
return cos(2*x) + 0.5*x;
}
// Derivada de la función f(x)
double df(double x) {
return -2*sin(2*x) + 0.5;
}
int main() {
double x0 = 0; // Valor inicial (x0 = 0)
double xi = x0;
double errorPermitido = 0.0001; // Tolerancia de error
double errorReal = 100; // Inicializamos con un valor grande
int iteracion = 0;
cout << "i\t| xi\t\t| f(xi)\t\t| f'(xi)\t| |f''(xi)|\t| Ep\n";
cout << "---------------------------------------------------------------\n";
while (errorReal > errorPermitido && iteracion < 100) {
double xiPlusOne = xi - f(xi) / df(xi);
errorReal = abs((xiPlusOne - xi) / xiPlusOne) * 100;
xi = xiPlusOne;
cout << fixed << setprecision(6);
cout << iteracion << "\t| " << xi << "\t| " << f(xi) << "\t| "
<< df(xi) << "\t| " << abs(df(xi)) << "\t\t| " << errorReal << "\n";
iteracion++;
}
if (errorReal <= errorPermitido) {
cout << "\nLa raíz es: " << xi << " con un error de " << errorReal << "%\n";
} else {
cout << "\nEl método no converge después de " << iteracion << " iteraciones\n";
}
cout << "\nPresione una tecla para continuar . . .";
cin.get(); // Espera a que el usuario presione una tecla
return 0;
}
Asegúrate de compilar y ejecutar este código en DEV C++. Los resultados deberían coincidir con la tabla que se muestra en la imagen.