metodo horner u salesiana

6
Métodos Numéricos Método de Horner Ing. Paulina Morillo ALGORITMO DE HORNER Resumen: Evaluación de () ∑ y sus derivadas en Xo. Entrada: n(grado del polinomio), a i (coeficientes), Xo (argumento real) Salida: Z k =p n k (Xo)→k=0,1,…….,n Algoritmo: Considerar: b n =a n Calcular: Z n =p n (n) (Xo)=n!a n Para: K=0,1,2,…………,n-1 Hacer: i=n-1, n-2……,k Calcular: b i =a i +b i+1 Xo Calcular: Z k =p n (k) (Xo)=k!b k Implementación a través de un arreglo matricial A=[a ij ] (n+1)(n+2) Matriz de Coeficientes Donde: Primera columna: e i-1 =a (i,1) → i=1,2,……, n+1 Ultima Fila: e n =a (n+1,j) → i=2,3,……, n+2 Elemento General: e i-1 =a (i,j) =a (i,j-1) +a (i+1,j) Xo Donde: j=2,3,…….,n+1 i=n, n-1,…….., j-1 Evaluación: P n (k-1) (Xo)=(k-1)!a (k,k+1) K=1,2,…..n+1

description

expicación del metdo de horner en metodos numpericos

Transcript of metodo horner u salesiana

  • Mtodos Numricos Mtodo de Horner

    Ing. Paulina Morillo

    ALGORITMO DE HORNER

    Resumen: Evaluacin de ( )

    y sus derivadas en Xo.

    Entrada: n(grado del polinomio), ai(coeficientes), Xo (argumento real)

    Salida: Zk=pnk(Xo)k=0,1,.,n

    Algoritmo:

    Considerar: bn=an

    Calcular: Zn=pn(n)(Xo)=n!an

    Para: K=0,1,2,,n-1

    Hacer: i=n-1, n-2,k

    Calcular: bi=ai+bi+1Xo

    Calcular: Zk=pn(k)(Xo)=k!bk

    Implementacin a travs de un arreglo matricial

    A=[aij](n+1)(n+2) Matriz de Coeficientes

    Donde:

    Primera columna: ei-1=a(i,1) i=1,2,, n+1

    Ultima Fila: en=a(n+1,j) i=2,3,, n+2

    Elemento General: ei-1=a(i,j)=a(i,j-1)+a(i+1,j)Xo

    Donde: j=2,3,.,n+1

    i=n, n-1,.., j-1

    Evaluacin:

    Pn(k-1)(Xo)=(k-1)!a(k,k+1) K=1,2,..n+1

  • Mtodos Numricos Mtodo de Horner

    Ing. Paulina Morillo

    j i

    1 2 3 . . . . . n+2

    1 a0 R0=bo

    2 a1 b1 R1=c1

    3 a2 b2 c2

    . . . .

    . . . .

    . . . .

    i ai bi=ai+bi+1Xo ci =bi+ci+1Xo

    . . . .

    . . . .

    . . . .

    n-1 an-2 bn-2 cn-2

    n an-1 bn-1 cn-1

    n+1 an bn cn Rn=an

    Ejemplo:

    Evaluar el polinomio p4(X)=2X4-3X2+3X-4,

    n=4

    i varia hasta n+1=5

    j varia hasta n+2=6

    j i

    1 2 3 4 5 6

    1 -4 10=Ro

    2 3 -7 -49=R1

    3 -3 5 21 45=R2

    4 0 -4 -8 -12 -16=R3

    5 2 2 2 2 2 2=Rn

    P4(-2)=Ro=10 y sus derivadas

    P4(-2)=R1=-49

    P4(-2)=2!R2=90

    P4(-2)=3!R3=-96

    Piv 4(-2)=4!R4=48

  • Mtodos Numricos Mtodo de Horner

    Ing. Paulina Morillo

    Es importante recordar que el polinomio se puede expresar a travs de sus residuos como:

    ( ) ( ) ( )

    ( ) ( )

    Proceso de Almacenamiento de los coeficientes ( )

    y de todos los residuos de

    las divisiones sintticas, en un vector de longitud 2n+1.

    Tenemos: n+1 coeficientes del polinomio y n+1 residuos, entonces necesitaramos un vector de

    2n+2 para almacenar los coeficientes originales y los residuos.

    Como an=Rn, entonces podemos disminuir una fila.

    1 a0

    2 a1

    3 a2

    . .

    . .

    . .

    i+1 ai

    . .

    . .

    . .

    n-1 an-2

    n an-1

    n+1 an

    n+2 Rn-1

    n+3 Rn-2

    . .

    . .

    . .

    Ri . .

    . .

    . .

    2n-1 R2

    2n R1

    2n+1 R0

    ( + ) (, ) ( (+ ) , ) ( , )

    Ordenamiento del vector en forma ascendente:

    Coeficientes de (): (+ , )

    Coeficientes de la primera divisin sinttica:

    Donde: i=(n+2), (n+3),, (2n+1)

    Coeficientes de las siguientes divisiones sintticas:

    Para k=2n, 2n-1,, n+2

    Hacer i=n+2,n+3,.., k

    Calcular:

    ( + ) (, ) (, ) ( , )

    Residuos de las divisiones sintticas:

    ( + , ) i=0,1,2,,n

    Evaluacin de ! ( + , ) i=0, 1, 2,.,n

  • Mtodos Numricos Mtodo de Horner

    Ing. Paulina Morillo

    IMPLEMENTACION EN MATLAB Opcin 1.- (Siguiente el procedimiento anterior)

    function h=poli(coef,Xo) %Declaracin de la funcin clc fprintf('\n\n\t\t\t\t\t****Metodos Numericos******\n\n'); fprintf('\n\n\t\t***** Elaborado por: Ing. Paulina Morillo *******\n\n'); coef=input('\nIngrese el vector de coeficientes del polinomio:\n');

    %Matriz de coeficientes en forma descendente Xo=input('\nIngrese el x a evaluar:\n'); n=length(coef)-1; % n= grado del polinomio %%%%% Proceso de Ordenamiento del Vector en forma ascendente en un vector

    columna %%%%%%% i=1; % inicializamos i en 1, porque para matlab, no existe la posicion 0 while i

  • Mtodos Numricos Mtodo de Horner

    Ing. Paulina Morillo

    Resultados:

  • Mtodos Numricos Mtodo de Horner

    Ing. Paulina Morillo

    Opcin 2.-

    function h=poli2(coef,y) %declaracion de la funcion %Polinomio

    ingresado de la forma anX^n+a(n-1)X^(n-1)....... fprintf('\n\n\t\t\t\t\t****Metodos Numericos******\n\n'); fprintf('\n\n\t\t***** Elaborado por: Ing. Paulina Morillo *******\n\n'); q=length(coef); %q=n+1 y representa al nmero del coeficientes del

    vector i=1; while i