Está en la página 1de 3

%Interpolacion de newton

clc;
X=[150 160 170 180 190 200 210];
Y=[35.5 37.8 43.6 45.7 47.3 50.1 51.2];
n=length(X)-1;%Grado del polinomio
DD=zeros(n+1);
DD(:,1)=Y;
for k=2:n+1
for j=k:n+1
DD(j,k)=(DD(j,k-1)-DD(j-1,k-1))/(X(j)-X(j-k+1));
end
end
polinom=DD(1,1);
P=1;
%calculo del polinomiosyms x;%declaramos variable
simbolica
syms x;
for i=1:n
P=P*(x-X(i));
polinom=polinom+P*DD(i+1,i+1);
end
polinomio=expand(polinom)% se muestra expansion del
polinomio
hold on;
ezplot(polinom,[X(1) X(n+1)]);
plot(X,Y,'*');
grid on;
xlabel('T(ºC)');
ylabel('R(%)')
x=158;%temperatura por averia
Rcalulado=eval(polinom)% calculo del valor interpolado
if Rcalulado>= 38.5 && Rcalulado<=45
fprintf('Rendimiento es optimo\n');
else
fprintf('Rendimiento no es optimo\n');
end

También podría gustarte