Lab 2-2

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 5

Actividad 2

Obtener el polinomio de interpolacin usando la frmula de interpolacin de


Newton en diferencias divididas con los datos de la tabla que aparece a
continuacin, e interpolar en el punto x = 4. ademas usar un metodo de
ecuaciones No lineales para hallar su cero

xk 3 1 -7 -1 6 5
yk -137 -7 12 1 -17 -191
Grafquese el polinomio de quinto orden que ajusta los datos del Cuadro .
Escrbanse las conclusiones a las que se arribaron

SOLUCION
Cdigo de Newton de Diferencia Divididas
%Interpolacion de Newton
function [yi, p, b]=pol_newton(x,y,xi)
%Inicializa Vaariables
n=length(x);
b=zeros(n);
b(:,1)=y(:);
%Obtener la Tabla de Diferencias
for j=2:n
for i=1:n-j+1
b(i,j)=(b(i+1,j-1)-b(i,j-1))/(x(i+j-1)-x(i));
end
end
%Calcular el dato interpolado
xt=1;
yi=b(1,1);
for j=1:n-1;
xt=xt.*(xi-x(j));
yi=yi+b(1,j+i)*xt;
end
%Construir el Polinomio
p=num2str(b(1,1));
xx=x*-1;
for j=2:n
signo='';
if b(1,j)>=0
signo='+';
end
xt='';
for i=1:j-1
signo2='';
if xx(i)>=0
signo2='+';
end
xt=strcat(xt,'.*(x',signo2,num2str(xx(i)),')');
end
p=strcat(p,signo,num2str(b(1,j)),xt);
end
%
Cdigo de Regula Falsa
function reglafalsa

f=input('Ingrese la funcion: ','s');
f=inline(f);
a=input('Ingrese el limite inferior: ');
b=input('Ingrese el limite superior: ');
tol=input('Ingrese el error admisible: ');
n=input('ingrese el numero de iteraciones: ');

if f(a)==0
fprintf('\n La raz es: %1.10f \n',a)
else if f(b)==0
fprintf('\n La raz es: %1.10f \n',b)

else if f(a)*f(b)<0
fprintf('\n n a b x f(x)
\n')
x=a-((f(a)*(b-a))/(f(b)-f(a)));
fx=f(x);
i=1;
error=tol+1;
while i<=n && fx~=0 && error>tol
fprintf('%3.0f %10.10f %10.10f %10.10f %10.10f
\n',i,a,b,x,f(x))
% la instruccin %10.10f significa dejar 10 espacios y
colocar el nmero con 10 decimales
if f(a)*f(x)<0
b=x;
else
a=x;
end
aux=x;
x=a-((f(a)*(b-a))/(f(b)-f(a)));
error=abs(x-aux);
fx=f(x);
i=i+1;
end

if f(x)==0
fprintf('\n La raz es: %1.10f \n',x)
else if error<tol
fprintf('\n %1.10f es una aproximacion a la raiz con un
error maximo de %1.10f \n',x,tol)

else
fprintf('\nFracaso en %0.0f iteraciones.\n',n)
end
end
else
disp('El intervalo es inadecuado.')
end
end
end
end


PASOS A COLOCAR EN EL PROGRAMA MATLAB
1) Con la tabla de los valores dado en el ejercicio , se define cada variable en
un vector.
>> x=[3 1 -7 -1 6 5]
x =
3 1 -7 -1 6 5
>> y=[-137 -7 12 1 -17 -191]
y =
-137 -7 12 1 -17 -191
2) Se llama a la funcin pol_newton con el fin de determinar el valor
deseado, que en este caso es -4.
>> pol_newton(x,y,-4)
ans =
-78.4964
3) Una vez obtenido el valor, si se deseas buscar la ecuacin de la grafica de
se utiliza la funcin def para definir dicha funcin.
>> [yi, def]=pol_newton(x,y,-4)
yi =
-78.4964
def =
-137-65.*(x-3)-6.2625.*(x-3).*(x-1)-1.4979.*(x-3).*(x-1).*(x+7)+0.51358.*(x-3).*(x-
1).*(x+7).*(x+1)+0.045.*(x-3).*(x-1).*(x+7).*(x+1).*(x-6)
>> y=inline(def)
y =
Inline function:
y(x) = -137-65.*(x-3)-6.2625.*(x-3).*(x-1)-1.4979.*(x-3).*(x-
1).*(x+7)+0.51358.*(x-3).*(x-1).*(x+7).*(x+1)+0.045.*(x-3).*(x-1).*(x+7).*(x+1).*(x-6)
4) Una vez definida la funcin en una variable, se grfica el de Quinto orden
que es el que se desea.

5) Para hallar una aproximacin a ceros usamos el Cdigo de Regula Falsi,
en la cual nos pide cierto datos, que son la ecuacin, los lmites superiores e
inferiores (viendo la grfica), el error a cual se desea llegar y el nmero de
iteraciones
Ingrese la funcion: -137-65.*(x-3)-6.2625.*(x-3).*(x-1)-1.4979.*(x-3).*(x-
1).*(x+7)+0.51358.*(x-3).*(x-1).*(x+7).*(x+1)+0.045.*(x-3).*(x-1).*(x+7).*(x+1).*(x-6)
Ingrese el limite inferior: 3
Ingrese el limite superior: -7
Ingrese el error admisible: 0.1
ingrese el numero de iteraciones: 8

n a b x f(x)
1 3.0000000000 -7.0000000000 -6.1946308725 -23.6932660479
2 -6.1946308725 -7.0000000000 -6.7292366152 0.8739976964
-6.7102176397 es una aproximacion a la raiz con un error maximo de
0.1000000000
Conclusiones:
- Con el cdigo de Newton se puso determinar su ecuacin por medio de la
tabla de valores dado.
- El mtodo de newton usado muestra directamente la ecuacin de quinto
orden.
- La grafica obtenida usamos intervalos de [1,6].
- Usamos el mtodo de Regula Falsa ya que al ver la grfica esta era una
funcin polinomicas, usando este mtodo determina los ceros mas
efectivos, el nico inconveniente es que al usuario se le debe de dar la
grfica para colocar sus valores superiores e inferiores y la ecuacin. Sin
ellos el programa arrojara que no estn ubicados en esos intervalos.

También podría gustarte