SoloCodigo

Programación Específica => Matlab => Mensaje iniciado por: Julaime en Lunes 13 de Septiembre de 2010, 05:29

Título: scilab
Publicado por: Julaime en Lunes 13 de Septiembre de 2010, 05:29
hola alguien sabe como codificar en scilab el algoritmo de horner para evaluar un polinomio y derivada de la misma en algun punto x

function [y]=horner(p,x)
function [y]=horner(p´,x)
Título: Re: scilab
Publicado por: jjasso5 en Martes 14 de Septiembre de 2010, 05:45
Hola,

Este es el algoritmo de Horner en Matlab. Debe ser casi idéntico en Scilab (si acaso falta el 'return' al final de la función).

a es el vector de coeficientes.
x es el punto a evaluar.

function [y, b] = horner(a, x)
n = length(a)-1;
b = zeros(n+1, 1);
b(1) = a(1);
for i = 2 : n+1
    b(i) = a(i) + b(i-1)*x;
end
y = b(n+1);
b = b(1 : end - 1);

Para la derivada, evalúa el polinomio en dos puntos muy cercanos, y divide la diferencia en ' y ' por la diferencia en ' x ', que es justamente la definición de derivada, (cuando ' delta x ' tiende a cero).

En este enlace hay un algoritmo para la derivada, también en Matlab.
matrixlab-examples.com/derivative.html

.