Newton Raphson

5
Metodo de Newton Raphson Algebra Lineal Num´ erica MM423 Prof.Iv´anHenr´ ıquez 25 de mayo de 2015 //Metodo de Newton-Raphson; Sergio Alejandro G’omez Mac’ias, 20121000227 #include<iostream> #include<iomanip> #include<math.h> using namespace std; typedef double functions(double x0[]); typedef unsigned int uint; /**************************************************************/ void Newton(functions *F[],functions *Jacob[], double x0[], const uint n, const double error,const uint max); void Eval_Jacob(functions *Jacob[], const uint n, double x0[], double evaluated[]); void Eval_Function(functions *F[],const uint n, double x0[],double FXn[]); void MatrixVector(double Matriz[],const double Vector[], const uint m, const uint n, double Vector_Resultante[]); void gauss_elimination(double A[], double resultado[], double b[],const uint n); double err( const double x0[],const double x[],const uint n); void backward_substitution(double A[],const double b[], double resultado[], const uint n); /**********************************FUNCIONES****************************/ /***************************F(X)=(F1,F2,...,Fn)***********************************/ double F1(double x[]); double F2(double x[]); /*************************JACOBIANO*************************************/ double F1x(double x[]); double F1y(double x[]); double F2x(double x[]); double F2y(double x[]); /**************************************************************/ int main(){ 1

description

.k

Transcript of Newton Raphson

  • Metodo de Newton RaphsonAlgebra Lineal Numerica MM423

    Prof. Ivan Henrquez

    25 de mayo de 2015

    //Metodo de Newton-Raphson; Sergio Alejandro Gomez Macias, 20121000227#include#include#includeusing namespace std;

    typedef double functions(double x0[]);typedef unsigned int uint;/**************************************************************/void Newton(functions *F[],functions *Jacob[], double x0[],const uint n, const double error,const uint max);void Eval_Jacob(functions *Jacob[], const uint n, double x0[], double evaluated[]);void Eval_Function(functions *F[],const uint n, double x0[],double FXn[]);void MatrixVector(double Matriz[],const double Vector[], const uint m,const uint n, double Vector_Resultante[]);void gauss_elimination(double A[], double resultado[], double b[],const uint n);double err( const double x0[],const double x[],const uint n);void backward_substitution(double A[],const double b[], double resultado[], const uint n);

    /**********************************FUNCIONES****************************//***************************F(X)=(F1,F2,...,Fn)***********************************/double F1(double x[]);double F2(double x[]);/*************************JACOBIANO*************************************/

    double F1x(double x[]);double F1y(double x[]);

    double F2x(double x[]);double F2y(double x[]);/**************************************************************/

    int main(){

    1

  • uint n;cout
  • double F2y(double x[]){return 1;}/****************************METODO DE NEWTON**********************************/void Newton(functions *F[],functions *Jacob[],double x0[],const uint n,const double error,const uint max ){cout
  • }/*************FUNCION PARA EVALUAR LOS PUNTOS EN LAS FUNCIONES DEL SISTEMA***********/void Eval_Function(functions *F[],const uint n, double x0[],double FXn[]){

    for(uint i=0;i

  • b[j]=-A[n*j+i]*b[i]+b[j];A[n*j+i]=0;}

    }/**************************SUSTITUCION HACIA ATRAS************************************/backward_substitution(A,b,resultado,n);

    }

    void backward_substitution(double A[], const double b[], double resultado[], uint n){

    for(int i=n-1;i>=0;i--){resultado[i]=b[i];for(uint j=i+1;j