Ejercicio3 2.0

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

Metodología

En el inciso a) del problema de interpolación polinomial se hizo la interpolación en un


rango de 10-250. En el primero se utilizó a la x como la temperatura y a la y como la
presión. De igual forma se utilizó un ciclo for y se obtuvieron los coeficientes con el uso de
la matriz y luego se evaluó en el intervalo ya mencionado.
Para hacerlo mediante Newton se tomó como un vector los resultados que nos iban a dar
y mediante un ciclo for se obtuvieron los coeficientes que como ya mencionamos se
obtuvieron mediante el vector inicial.
Por ultimo por el método de Lagrange se hizo uso de diferentes funciones del matlab para
poder conseguir el resultado deseado, igual se incluyeron ciclos, se puso el vector que se
quería evaluar al igual que los datos recabados para hacer dicha interpolación.
Resultados y discusión
Problema 3, inciso a:
NEWTON:

LAGRANGE:

Si se comparan los tres resultados encontrados con los tres diferentes métodos a partir de
los datos de la tabla 2, se puede observar que en los tres, los resultados coinciden, lo que
nos lleva a concluir que los programas desarrollados y presentados se encuentran bien,
pues no existe una variación en estos.
Anexoo
Problema 3, inciso a
clear all
close all
clc

x=[99.63 111.4 120.2 127.4 133.6 138.9 143.6 147.90 151.90];


y=[1 1.5 2 2.5 3 3.5 4 4.5 5];
m=length(x);

A=zeros(m,m);
b=zeros(m,1);

for i=1:m
A(:,i)=x.^(m-i); % Llenado de la matriz A
b(i,1)=y(i); % Llenado del vector b
end

g=A\b;
disp(g)

xi=10:5:250; % Puntos a evaluar


yi=polyval(g,xi);
disp(yi)

Newton:
%% POLINOMIO DE NEWTON
clear all
close all
clc

x=[99.63 111.4 120.2 127.4 133.6 138.9 143.6 147.90 151.90];


y=[1 1.5 2 2.5 3 3.5 4 4.5 5];
m=length(x);

a=zeros(1,m);
a(1)=y(1);

for i=1:m-1
aj=y(i+1);
for j=1:i
aj=(aj-a(j))/(x(i+1)-x(j));
end
a(i+1)=aj;
end

disp(a)

xi=10:5:250;
yi=0;
for i=1:m
yj=1;
for j=1:i-1
yj=yj.*(xi-x(j));
end
yi=yi+a(i)*yj;
end

disp(yi)

Lagrange:

AguaS_DatosT.txt

1.00 99.63 1.04 1.69 417.36 2506.10 417.46 2258.00 2675.50 1.30 7.36

1.50 111.40 1.05 1.16 466.94 2519.70 467.11 2226.50 2693.60 1.43 7.22

2.00 120.20 1.06 0.89 504.49 2529.50 504.70 2201.90 2706.70 1.53 7.13

2.50 127.40 1.07 0.72 535.10 2537.20 535.37 2181.50 2716.90 1.61 7.05

3.00 133.60 1.07 0.61 561.15 2543.60 561.47 2163.80 2725.30 1.67 6.99

3.50 138.90 1.08 0.52 583.95 2546.90 584.33 2148.10 2732.40 1.73 6.94

4.00 143.60 1.08 0.46 604.31 2553.60 604.74 2133.80 2738.60 1.78 6.90

4.50 147.90 1.09 0.41 622.25 2557.60 623.25 2120.70 2743.90 1.82 6.86

5.00 151.90 1.09 0.37 639.68 2561.20 640.23 2108.50 2748.70 1.86 6.82
%% POLINOMIO DE LAGRANGE
clc
clear all
close all

D=load('AguaS_DatosT.txt');
y=transpose(D(:,1));
x=transpose(D(:,2));

xi=10:5:250;
m=length(x);
yi=0;
for i=1:m
cpd=1; cpn=1;
for j=1:m
if i~=j
cpn=cpn.*(xi-x(j)); % Producto del numerador
cpd=cpd.*(x(i)-x(j)); % Producto del denominador
end
end
yi=yi+(cpn./cpd)*y(i); % Suma de los términos
end
disp('Nueva Yi')
disp(yi)
yi3=yi;

C:\Users\HP\Desktop\17-11-2018\lagrange_poli_2.m

También podría gustarte