Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %Jose Luis Sandoval Alaguna 258120
- %
- %Laboratorio 1 -> Ejercicio 2
- %Aproximacion de Newton
- function [paprox,ddiv] = aprox_newton(xi,fxi)
- %Construimos la Matriz
- lon=length(xi); %Halla la longitud del vector
- ddiv=zeros(lon);
- %Llenamos las dos primeras columnas con x y f(x)
- for i=1:lon
- ddiv(i,1)=fxi(i);
- endfor
- %Hallamos diferencia dividida
- for i=2:(lon+1) %i=3 por que la columna tres contiene las diferencias divididas
- for j=1:(lon-i+1)
- ddiv(j,i)=(ddiv(j+1,i-1) - ddiv(j,i-1))/(xi(i+j-1)-xi(j));
- endfor
- endfor
- %Ahora creamos el vector paprox y lo llenamos
- paprox=zeros(1,lon+1);
- %P polinomio axiliar que denota los multiplicadores de las diferencias divididas
- paux=zeros(1,lon+1);
- paux(lon+1)=1;
- %Ahora resolvemos el polinomio de aproximacion
- for i=1:lon
- paprox=paux*ddiv(1,i) + paprox;
- paux=conv(paux,[1,-xi(i)]); %Multiplica polinomios como si fueran vectores
- paux = paux(2:(lon+2));
- endfor
- ddiv=[xi', ddiv]; %Retorna Matriz de Diferencias divididas incluyendo el vector X
- endfunction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement