MATH

Interpolazione con Nodi
Calcolo tramite Matlab per l'interpolazione di una funzione data:

Istruzione MATLAB:
clear all;
f_esatta = @(x) 2.7*exp(-((x+2)/3).^2);
n=5;
xi = linspace(-5,5,n+1);
yi = f_esatta(xi); 

% interpolazione
a=polyfit(xi,yi,n); 
% valutazione dell'interpolante
x=linspace(-5,5,1e4); 
yp=polyval(a,x); 

% grafico 
figure;
plot(x,f_esatta(x),'-',...
xi,yi,'X',...
x,yp,'--');

grid on;































INTERPOLAZIONE FUNZIONE

i = 1:7;
x = -cos((i-1)*pi/6);
f = @(x) exp(x) .* sin(pi*x);
y = f(x);
p = polyfit(x,y,length(x)-1)
figure
xplot = linspace(x(1),x(end),1000);
yplot = f(xplot);

pplot = polyval(p,xplot);
plot(xplot,yplot,'--',...

    xplot,pplot,'-')




FATTORIZZAZIONE LU DI UNA MATRICE A:
%Fattorizzazione LU

A=[9 2 8; 9 2 3; 5 3 8];

[L,U,P]=lu(A);

b=[19 14 16]';

y=L\P*b;
x=U\y;

disp(x);

disp(y);

POLINOMIO INTERPOLANTE CON IL METODO DI NEWTON:
% pulizia
clear all
close all
clc

% dati del problema
x = -2:2;
y = [3 1 2 0 5];

% differenze divise
d = difdiv(x,y);

% ascisse in cui valutare P4
xi = linspace(-2,2,1000);

% valuto P4
P4 = interp(x,d,xi);

% grafico
figure
plot(x,y,'o',...
     xi,P4,'-')
xlabel('x')
ylabel('y')
grid on
legend('dati da interpolare',...

       'polinomio interpolante');