% Esercizio 2

clear all
close all
clc

% Osservo il fenomeno della cancellazione numerica su due espressioni 
% equivalenti

% Sviluppo dei coefficienti mendiante routine fornita da Matlab
syms x
expand((x-1)^7)

% In MatLab i polinomi sono array di coefficienti memorizzati dal grado
% piu' elevato al grado meno elevato.

% Calcolo l'espressione estesa
x = linspace(0.99,1.015,1000);
f = @(x)(x.^7 - 7*x.^6 + 21*x.^5 - 35*x.^4 + 35*x.^3 - 21*x.^2 + 7*x - 1); % f copiata dall'output
% f soggetta al fenomeno della cancellazione numerica 
y = f(x);

% Calcolo l'espressione non estesa
f = @(x)(((x-1).^7)); 
r = f(x);
figure(1);
plot(x,r,'r',x,y,'b') % grafico del confronto dell'andamento delle due funzioni equivalenti
legend('P1','P2');
xlabel('x');
title('Valutazione dei due polinomi');
% La funzione estesa (copiata dall'output) e' soggetta al fenomeno della
% cancellazione numerica, infatti, sono presenti in essa diverse 
% sottrazioni e, come si puo' vedere dal grafico, la curva individuata da 
% essa approssima in modo discontinuo la curva individuata dalla funzione 
% non estesa che invece ha un andamento coerente a quanto ci aspettavamo. 