Está en la página 1de 3

TALLER 03 – MÉTODOS NUMÉRICOS

ID INTEGRANTES
697819 Ingrid Paola Contreras Jaimes
697392 Laura Eugenia Molina Molina
72015 Ferney Gonzalo Vargas Betancur

8 DE ABRIL DE 2021
CORPORACIÓN UNIVERSITARIA MINUTO DE DIOS
Soacha, Cundinamarca
INTERPOLACIÓN LAGRANGE - SCRIPT

1 %Ejercicio de interpoLacion de Lagrange%


2 %Métodos numéricos%
3
%La viscosidad del agua varia con la temperatura de acuerdo a
4
las siguientes variables%
5 %calcular la viscosidad a 55 C°%
6
7 temp=[0 10 20]; %Temperatura del H2O%
8
9 fx=[17.94 13.10 10.09]; %Viscosidad%
10
11 x=[55]; %vaLor a interpolar%
12
13 p=length(temp);
14
15 L=ones(1,p);
16
17 % t es La variable 'i'%
18 for t=1:p
19 % s es La variable 'j'%
20 for s=1:p
21
22 if s~=t
23
24 %Los valores que toma 's' muLtiplican a '1'%
25
26 L(t)= L(t)*(x-temp(s))/(temp(t)-temp(s));
27
28 end
29 end
30
31 %Imprimimos las 'L'%
32
33 fprintf('L%i %.6g\n', t-1, L(t))
34
35 end
36
37 fn=dot(L,fx);
38 %finalmente damos respuesta a la viscosidad a 55C°
39 fprintf('\n La interpoLacion es: %.6g \n ',fn)
INTERPOLACIÓN NEWTON – SCRIPT
1 %Ejercicio de Interpolación de Newton%
2 %Inicializar Variables%
3
4 n=input(‘Ingresar grado del polinomio’);
5 fprintf(‘Es requerido %.0f puntos \n’,n+1);
6 disp.(‘Ingrese los puntos’);
7 for i=1:n+1
8 fprintf(‘x%.0f=’,i -1);
9 X(i)=input(‘ ’);
10 Fprintf(‘y%.0f=’,i -1);
11 Y(i)=input(‘ ‘);
12 end
13 %Estructura como se encuentran las DD (Diferencias Divididas)%
14 DD=zeros(n+1);
15 DD(:,1)=Y;
16 for k=2:n+1
17 for s=2:n+1
18 DD(s,k)=[DD(s,k-1) -DD(s-1,k-1)]/[x(s)-x(s-k+1)];
19 end
20 end
21 %Obtener Matriz de diferencias%
22 disp.(‘La matriz de diferencias divididas es: ’);
23 disp.(DD);
24 %Se construye el polinomio de Newton%
25 disp.(‘El polinomio de Newton es: ’);
26 sysms x
27
28 polnew=DD(1,1);
29 P=1;
30 for i=1:n
31 P=P(x-X(i));
32 polnew=polnew+P*DD(i+1,i+1);
33 end
34 Polnew=expand(polnew);
35 Pretty(polnew);
36 %Calcular la interpolación%
37 x=input(‘Ingresar valor de (x) = ’);
38 %fprintf(‘El resultado es: %.2f\n’,);
39 hold on;
40 ezplot(polnew,[X(1) X(n+1)]);
41 plot(x,’r+’);

También podría gustarte