Você está na página 1de 1

#include <iostream>

#include <cmath> //formulas matematicas avanzada


#include <iomanip> //setprecision

#define PRECISION 6 //variable global

using namespace std;

int main(){
cout <<setprecision (PRECISION);
double Po, fx, TOL, N;
//variables

cout <<"ingrese aproximacion inicial :" ; cin>>Po;


//Pidiendo variables
cout <<" indique Tolerancia de error : " ;cin>>TOL;
cout <<"indique Numero de iteraciones Maximas : "; cin>>N;
cout <<"\t X "<<"\t\t\t f(x)" <<"\t ERROR" <<endl;

for (int i=1; i<=N; i++)


//Para un numero de iteraciones determinado realizar la siguiente
operacion
{
fx = Po - ((Po*Po*Po)+(4*(Po*Po))-10)/(3*(Po*Po)+(8*Po));
// FUNCION ==> f(x)= x^3 + 4x^2 -10 = 0 // Siendo su f(x) = 3x^2 + 8x

cout <<"\t" <<Po<<"\t" <<"\t"<<fx ;cout<<"\t"<< abs(fx-Po)<<endl;


//Marco superior y su respectiva secuenciacion de los datos analisados ordenados
para abajo
if (abs(fx-Po)>TOL){
//Si el absoluto de mi diferencia entre punto inicial y f(x)
aka(ERROR), es mayor a la Tolerancia
Po = fx;}
//mi nuevo punto inicial sera la f(x)
else if ((i==N)&&(abs(fx-Po)>TOL)){
//si llego a las iteraciones especificadas y mi ERROR sigue siendo mayor a la
Tolerancia
cout <<"Lo sentimos, No se llego a una solucion con las iteraciones
propuestas."; //despliegue de fracaso.
}
else
//de lo contrario
{cout <<"La raiz se encuentra en" <<endl;
//despliegue en donde indique que mi ERROR es menor a la Tolerancia.
cout <<"X: " <<Po <<" f(x) :" <<fx <<" Con un Error de : " <<abs(Po-fx)
<<endl; //Desplieque donde indique el punto X , la F(x) y el Error....
break;
}

}
cin.get();
return 0;}

Você também pode gostar