Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Matlab Programacion
Matlab Programacion
%Datos
clc,clear
x=[1 5]'
y=[56.5 113]'
xp=2
A=[ones(2,1) x];
% Ax=y =>x=inv(A)*y
a=inv(A)*y;
fprintf('P(x)=%.4f + %.4f x \n',a(1),a(2))
P=a(1)+a(2)*xp;
fprintf('P(%d)=%.1f\n',xp,P)
%Polinomios de Lagrange
%Datos
clc,clear
x=[1 5 20 40]
y=[56.5 113.0 181.0 214.5]
xp=2
n=length(x)-1 % n es el grado
for i=1:n+1
L(i)=1;
for j=1:n+1
if(i~=j)
L(i)=L(i)*(xp-x(j))/(x(i)-x(j));
end
end
end
P=sum(L.*y);
fprintf('P(%d)=%.1f\n',xp,P)
function P=interpola(x,y,xp)
%Polinomios de Lagrange
n=length(x)-1 % n es el grado
for i=1:n+1
L(i)=1;
for j=1:n+1
if(i~=j)
L(i)=L(i)*(xp-x(j))/(x(i)-x(j));
end
end
end
P=sum(L.*y);
clc,clear
x=[1 5 20 40]
y=[56.5 113.0 181.0 214.5]
xp=2
sol=interpolacion(x,y,xp)
function P=interpolacion(x,y,xp)
%Polinomios de Lagrange
n=length(x)-1 % n es el grado
for i=1:n+1
L(i)=1;
for j=1:n+1
if(i~=j)
L(i)=L(i)*(xp-x(j))/(x(i)-x(j));
end
end
end
P=sum(L.*y);
clc,clear
%Interpolacion Bidimensional de 1er grado
x=[10 20]
y=[ 52.8 171.73]
xp=12
z1=interpola(x,y,xp)
y=[56 174.67]
z2=interpola(x,y,xp)
x=[40 50]
y=[z1 z2]
xp=48
sol=interpola(x,y,xp)