logo
  • userLoginStatus

Welcome

Our website is made possible by displaying online advertisements to our visitors.
Please disable your ad blocker to continue.

Current View

Mathematical Engineering - Matematica Numerica

Exercise - 14 - Solution

Divided by topic

MATEMATICA NUMERICA A.A. 2018 - 2019 Ingegneria Matematica Prof. A. Quarteroni Prof. A. Manzoni, Dr. I. Fumagalli Esercitazione 14 - Soluzione Interpolazione polinomiale (2) Esercizio 1 Si consideri la funzione : f(x) =e x2 sin(x);conx2[a; b]: Si prendano gli estremia=2eb= 3. a)Si calcoli il polinomio interpolante composito lineareH 1f sun= 3sottointervalli di uguale ampiezza H= (ba)=n, si utilizzi la funzioneinterp1, e se ne disegni il graco insieme a quello della funzione f(x). b)Si calcoli l'errore in norma innito "H= max x2[a;b] f(x)H 1f : c)Si calcoli ora il polinomio interpolante composito lineareH 1f sun= 4;8;16;32;64;128sottointervalli di uguale ampiezza. Si valuti l'errore in norma innito" Hin ciascun caso e se ne visualizzi l'andamento in funzione diHsu un graco in scala logaritmica su entrambi gli assi. Vericare gracamente che ci sia accordo con la stima teorica dell'errore : "HH 28 max x2[a;b]j f00 (x)j: Soluzione 1a)Per il calcolo del polinomio interpolante composito lineare si utilizza la funzioneinterp1. Tramite il comandohelp interp1 si verica che tale funzione richiede come parametri in ingresso : il vettore contenente i nodi di in- terpolazione, il vettore contenente i valori della funzione in corrispondenza di tali nodi ed inne un vettore di punti nei quale valutare il polinomio interpolante. In uscita la funzione restituisce un vettore contenente la valutazione del polinomio interpolante in tali punti. I seguenti comandi permettono di ricavare il graco, riportato in gura 1, del polinomio interpolante composito lineare :fun = @(x) exp(-x.^2). *sin(x);a = -2; b = 3; x_dis = linspace(a, b, 1000); f_dis = fun(x_dis); figure(1) plot(x_dis, f_dis,k) 1 n = 3; H = ( b - a ) / n; x_nod = linspace(a, b, n+1); f_nod = fun(x_nod); P_dis = interp1( x_nod, f_nod, x_dis ); hold on; plot(x_nod,f_nod,bo) Figure 1  Graco della funzione e del polinomio interpolante composito lineare sun= 3sottointervalli. b)L'errore di interpolazione si ottiene valutandoerr = norm((f_dis-P_dis),inf) err = 0.4379 c)Racchiudiamo i comandi all'interno di un ciclo : err = norm((f_dis-P_dis),inf) %%PUNTO3 HH = []; err_max = []; for n = 2.^(2:7)H = ( b - a ) / n; HH = [HH H]; x_nod = linspace(a, b, n+1); f_nod = fun(x_nod); P_dis = interp1( x_nod, f_nod, x_dis ); Prima di entrare nel ciclo forabbiamo creato i vettori vuotiHeerr_maxche vengono riempiti ad ogni iterazione con i valori rispettivamente dell'ampiezza dei sottointervalliHe dell'errore" H. Alla ne del ciclo è possibile visualizzare in un graco in scala logaritmica su entrambi gli assi l'andamento dell'errore al variare dell'ampiezza con i comandi :err_max = [ err_max; norm( ( P_dis - f_dis ),inf ) ]; end 2−2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 3 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4    f(x) nodi interpolante composito lineare figure(2) loglog(HH,err_max,ro-,HH,HH,k--,HH,HH.^2,k) legend(errore,H,H^2) Figure 2  Errore in norma innito" Hin funzione di He rette di riferimento con pendenza1e2. Il graco è riportato in gura 2 ; si verica gracamente che l'errore" Hsi abbatte con andamento quadratico rispetto adH, infatti la pendenza della rettay=" Hè uguale a quella della retta y=H2 , in accordo con la stima teorica. Esercizio 2 Si consideri la funzione f(x) =11 + x; x 2I= [0;1]: a)Determinare il numero minimoNdi intervalli uniformi (di lunghezzah= 1=N) tale per cui il polinomio lineare a tratti che interpola la funzioneffornisca un errore massimo inferiore a10 5 . b)Si considerino i puntix 0= 0 ,x 1= 1 =2,x 2= 1 . Trovare i coecientia 0e a 1del polinomio p(x) = a0+ a 1x di grado 1 che interpolafnei puntix i( i= 0;1;2) nel senso dei minimi quadrati (retta di regressione), minimizzando la funzione distanza polinomio-dati seguente : (a 0; a 1) =2 X i=0[ f(x i) p(x i)]2 =2 X i=0[ f(x i) a 0 a 1x i]2 : Sugg. :imporre le condizioni di minimo@ @ a 0= @ @ a 1= 0 per calcolarea 0; a 1. Soluzione 2a)SiaNil numero di sotto-intervalli diI= [0;1]di lunghezzah= 1=N. Ricordiamo che per l'errore di interpolazione composita lineare vale la seguente stima : max 0x1j 1 hf (x)f(x)j 18 h 2 max 0x1j f00 j:310−2 10−1 100 101 10−4 10−3 10 −2 10−1 100 10 1    errore H H 2 Nel nostro caso max 0x1j f00 j= max 0x1 2(1 + x)3  2; dunque per soddisfare la condizione richiesta dobbiamo imporre cheh2 410 5 , ovveroN p0 :25105 159. b)Calcoliamo le derivate della funzione(a 0; a 1) : @@ a 0= 22 X i=0[ f(x i) (a 0+ a 1x i)] = 2 2 X i=0f (x i) 3a 0 a 12 X i=0x i! =2 136 3a 032 a 1 ; @@ a 1= 22 X i=0x i[ f(x i) (a 0+ a 1x i)] =2 2 X i=0x if (x i) a 02 X i=0x i a 12 X i=0x 2 i! =2 56 32 a 054 a 1 : I coecientia 0e a 1del polinomio sono le soluzioni del sistema lineare che si ottiene imponendo le seguenti condizioni di minimo :8 > > < > > :@ @ a 0= 0 @@ a 1= 0 : Otteniamo :8 > > > < > > > : 2 136 3a 032 a 1 = 0 2 56 32 a 054 a 1 = 0;,8 > > < > > :3 a 0+32 a 1=136 32 a 0+54 a 1=56 ;(1) la cui soluzione èa 0= 35 =36; a 1= 1=2. Il polinomio cercato è quindip(x) =3536 12 x (si veda la Figura 3). Osserviamo che la matrice del sistema (1) non è altro che la matriceVT Vdelleequazioni normalie il termine notoy= (13=6;5=6)è uguale aVT bdovebè il vettore dei datif(x i) . In questo modo il sistema (1) può essere scritto comeVT Vc=VT b. Nel nostro casoVè uguale a V=2 41 x 0 1x 1 1x 23 5=2 41 0 1 1=2 1 13 5 e di conseguenzaA= 1 1 1 0 1=2 1 2 41 0 1 1=2 1 13 5= 3 3=2 3=2 5=4 ; y= 1 1 1 0 1=2 1 2 41 2=3 1=23 5= 13=6 5=6 :4 Figure 3  Graco della funzionef(x)e della retta di regressionep(x)calcolata rispetto ai puntix 0= 0 , x1= 1 =2,x 2= 1 Esercizio 3 Sono state svolte delle prove a trazione su una nuova lega per determinare la relazione tra losforzo(forza per unità di supercie) e ladeformazione"(allungamento per unità di lunghezza). I risultati delle prove sono riportati nella seguente tabella : [1000kg F= cm2 ]0.1800 0.3000 0.5000 0.6000 0.7200 0.7500 0.8000 0.9000 1.0000 " [cm/cm]0.0005 0.0010 0.0013 0.0015 0.0020 0.0045 0.0060 0.0070 0.0085 A partire da questi dati si vuole stimare la deformazione"della lega in corrispondenza dei valori dei sforzo per cui non si ha a disposizione un dato sperimentale. A tal ne si utilizzano opportune tecniche di interpolazione. Le funzioni interpolanti da utilizzare sono le seguenti : interpolazione polinomiale di Lagrange (polyfitepolyval) ; interpolazione polinomiale composita lineare (interp1) ; approssimazione nel senso dei minimi quadrati di grado1,2e4(polyfitepolyval) ; spline cubica naturale interpolante (cubicspline) ; spline cubica interpolante con condizioni di chiusura not-a-knot (spline). In particolare si richiede di a)rappresentare gracamente le singole funzioni interpolanti (ed approssimanti) a confronto con i datisperimentali ; b)confrontare in un unico graco i dati sperimentali con tutte le interpolanti (per l'approssimante aiminimi quadrati si consideri solo il polinomio di grado4) ; c)valutare, per ogni interpolante ed approssimante, la deformazione"in corrispondenza di= 400kg F= cm2 e= 650kg F= cm2 ; si commentino i risultati ottenuti. Soluzione 3a)Per prima cosa si deniscono i vettori contenenti i dati sperimentalisigma(per lo sforzo) edepsilon (per la deformazione") :sigma = [0.18 0.3 0.5 0.6 0.72 0.75 0.8 0.9 1.0 ]; epsilon = [0.0005 0.001 0.0013 0.0015 0.002 0.0045 0.006 0.007 0.0085]; In Figura 4 è riportato il graco dei dati sperimentali, ottenuto tramite le seguenti istruzioni : 50 0.2 0.4 0.6 0.8 1 0.4 0.5 0.6 0.7 0.8 0.9 1 x f(x) p(x) figure(1) plot(sigma, epsilon,ko) title(Datisperimentali) xlabel(Sforzo) ylabel(Deformazione) Figure 4  Dati sperimentali. L'interpolazione polinomiale di Lagrangeè ottenuta mediante le funzionipolyfitepolyval. Si ricorda che il numero di punti corrispondenti ai dati sperimentali determina il grado del polinomio di Lagrange. I coecientiPLdel polinomio interpolatore sono ottenuti tramite la funzionepolyfit, mentre la valutazione del corrispondente polinomio è eettuata dapolyval:sigma_dis = linspace(min(sigma), max(sigma), 1000); grado = length(sigma) - 1; PL = polyfit(sigma, epsilon, grado); epsilon_IL = polyval(PL, sigma_dis); figure(2) plot(sigma, epsilon,ko, sigma_dis, epsilon_IL,r,linewidth, 2) xlabel(Sforzo) ylabel(Deformazione) title(DatisperimentalieInterp.Pol.Lagrange) In Figura 5 viene rappresentato il polinomio  ninsieme ai dati. Si evince che questo tipo di interpo- lazione è inadeguato per la stima dei valori di deformazione lontano dai nodi, a causa del carattere oscillante del polinomio. In Matlab è possibile ottenere l'interpolante polinomiale composita linearemediante la funzioneinterp1, che prevede in ingresso tre vettori rispettivamente per le ascisse dei nodi, le ordinate dei nodi e le ascisse in cui valutare l'interpolante ; in uscita sono restituite le valutazioni dell'interpolante in corripondenza delle ascisse desiderate :epsilon_ICL = interp1(sigma, epsilon, sigma_dis); figure(3) plot(sigma, epsilon,ko, sigma_dis, epsilon_ICL,r,linewidth, 2) 60 0.2 0.4 0.6 0.8 1 0 1 2 3 4 5 6 7 8 9x 10 -3 Dati sperimentali Sforzo Deformazione Figure 5  Dati sperimentali e interpolazione polinomiale di Lagrange.xlabel(Sforzo) ylabel(Deformazione) title(DatisperimentalieInterp.Comp.Lineare) Figure 6  Dati sperimentali e interpolazione polinomiale composita lineare. La Figura 6 mostra il polinomio interpolatore composito insieme ai dati. Si noti come l'interpolazione polinomiale composita lineare congiunga con segmenti di retta i dati sperimentali. È lo stesso tipo di interpolazione utilizzato dal comandoplotdi Matlab/Octave per disegnare i graci. Con l'approssimazione polinomiale nel senso dei minimi quadratisi vogliono trovare i polinomi di grado1,2e4di miglior approssimazione dei9dati sperimentali. A questo scopo si utilizza ancora la70 0.2 0.4 0.6 0.8 1 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 Sforzo Deformazione Dati sperimentali & Interp. Pol. Lagrange 0 0.2 0.4 0.6 0.8 1 0 1 2 3 4 5 6 7 8 9x 10 -3 Sforzo Deformazione Dati sperimentali & Interp. Comp. Lineare funzione polyfit, inserendo il grado desiderato per il polinomio ai minimi quadrati. In particolare si osservi che senè un intero positivo, la chiamata diP = polyfit(x_d, y_d, n)corrisponde a : interpolazione polinomiale di Lagrange, sen=length(x_d)-1; polinomio di gradonnel senso dei minimi quadrati, senlength(x_d)-1. Si possono quindi approssimare le deformazioni"con i seguenti comandi :epsilon_IMQ(1,:) = polyval(polyfit(sigma, epsilon, 1), sigma_dis); epsilon_IMQ(2,:) = polyval(polyfit(sigma, epsilon, 2), sigma_dis); epsilon_IMQ(3,:) = polyval(polyfit(sigma, epsilon, 4), sigma_dis); figure(4) axes(FontSize,12) plot(sigma, epsilon,ko, sigma_dis, epsilon_IMQ,linewidth, 2) xlabel(Sforzo) ylabel(Deformazione) title(Datisperimentali&Interp.aiMinimiQuadrati) legend(DatiSperimentali, ...MinimiQuadrati:1, ...MinimiQuadrati:2, ...MinimiQuadrati:4) Figure 7  Dati sperimentali e approssimazione ai minimi quadrati di grado1,2e4. In Figura 7 è riportato il confronto tra le approssimazione ai minimi quadrati ed i dati sperimentali. L'interpolazione mediante spline cubica naturalepuò essere ottenuta tramite la funzionecubicspline fornita. La funzionecubicsplinerichiede in ingresso tre vettori rispettivamente per le ascisse dei nodi, le ordinate dei nodi e le ascisse in cui valutare la spline ; in uscita viene restituita la valutazione della spline in corrispondenza delle ascisse desiderate. È perciò possibile calcolare l'approssimazione dello sforzo nei nodi richiesti tramite le istruzioni :epsilon_ISCN = cubicspline(sigma, epsilon, sigma_dis); figure(5) axes(FontSize,12) 80 0.2 0.4 0.6 0.8 1 -2 0 2 4 6 8 10x 10 -3 Sforzo Deformazione Dati sperimentali & Interp. ai Minimi Quadrati Dati Sperimentali Minimi Quadrati: 1 Minimi Quadrati: 2 Minimi Quadrati: 4 plot(sigma, epsilon,ko, sigma_dis, epsilon_ISCN,r,linewidth, 2) xlabel(Sforzo) ylabel(Deformazione) title(Datisperimentali&SplineCubicaNaturale) In Figura 8 è riportato il graco contente la spline cubica naturale. Si noti come l'approssimazione non sembri adatta in un intorno di= 0:61000kg F= cm2 ; questo andamento sarà discusso al punto successivo.Figure 8  Dati sperimentali e spline cubica naturale. L'interpolante spline cubico con condizioni not-a-knot può essere ottenuto con la funzione Matlab spline, con la stessa sintassi dicubicspline. Il risultato, per cui valgono le stesse considerazioni che per la spline cubica naturale, è riportato in Figura 9.epsilon_ISCnak = spline(sigma, epsilon, sigma_dis); figure(6) axes(FontSize,12) plot(sigma, epsilon,ko, sigma_dis, epsilon_ISCN,r,linewidth, 2) xlabel(Sforzo) ylabel(Deformazione) title(Datisperimentali&SplineCubicaconcondizioninot-a-knot) b)Si vogliono ora confrontare le interpolanti e le approssimanti su un unico graco, al ne di valutare quale approssimazione interpreti in maniera più appropriata i dati sperimentali. A questo scopo si eseguono i seguenti comandi :figure(7) axes(FontSize,12) plot(sigma, epsilon,ko, ...sigma_dis, epsilon_IL, ...sigma_dis, epsilon_ICL, ...sigma_dis, epsilon_IMQ(3,:), ...sigma_dis, epsilon_ISCN, ...sigma_dis, epsilon_ISCnak,linewidth, 2) ylim([-2e-3 1e-2]) 90 0.2 0.4 0.6 0.8 1 0 1 2 3 4 5 6 7 8 9x 10 -3 Sforzo Deformazione Dati sperimentali & Spline Cubica Naturale Figure 9  Dati sperimentali e spline cubica con condizioni not-a-knot.xlabel(Sforzo) ylabel(Deformazione) title(Datisperimentali&Confronti) legend(DatiSp., ...I.Lagrange, ...I.CompositaLin., ...MinimiQuadrati:4, ...SplineCubicaN., ...SplineCubican-a-k,Location,northwest) Figure 10  Confronto delle interpolanti ed approssimanti con i dati sperimentali.100.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Sforzo 0 1 2 3 4 5 6 7 8 9 Deformazione 10 -3Dati sperimentali & Spline Cubica con condizioni not-a-knot 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Sforzo -20 2 4 6 8 10 Deformazione 10 -3 Dati sperimentali & Confronti Dati Sp. I. Lagrange I. Composita Lin. Minimi Quadrati: 4 Spline Cubica N. Spline Cubica n-a-k In Figura 10 è riportato il confronto graco tra tutte le interpolanti. L'interpolazione polinomiale di Lagrange è la meno adatta a descrivere il legame sforzodeformazione della lega in sperimentazione, in quanto presenta un andamento eccessivamente oscillante. Le altre approssimazioni sembrano avere andamenti qualitativamente migliori. Nel caso di approssimazione tramite spline, la curva interpolante che descrive il legame sforzideformazioni ha una inversione di pendenza molto evidente attorno a = 0:61000kg F= cm2 , cioè ad un aumento dello sforzo corrisponderebbe una diminuzione della deformazione. Questo fenomeno è dicilmente giusticabile dal punto di vista sico, per una lega di metalli, e rappresenta un limite di questa interpolazione. c)Si possono calcolare le valutazioni della deformazione"in corrispondenza dei valori richiesti= 400kg F= cm2 e= 650kg F= cm2 , mediante i seguenti comandi :sigma_v = [0.4 0.65]; epsilon_IL_v = polyval(PL, sigma_v); epsilon_ICL_v = interp1(sigma, epsilon, sigma_v); epsilon_IMQ4_v = polyval(polyfit(sigma, epsilon, 4), sigma_v); epsilon_ISCN_v = cubicspline(sigma, epsilon, sigma_v); epsilon_ISCnak_v = spline(sigma, epsilon, sigma_v); fprintf(Sigma:%f%f\n, sigma_v) fprintf(EpsilonIL:%f%f\n, epsilon_IL_v) fprintf(EpsilonICL:%f%f\n, epsilon_ICL_v) fprintf(EpsilonIMQ4:%f%f\n, epsilon_IMQ4_v) fprintf(EpsilonISCN:%f%f\n, epsilon_ISCN_v) fprintf(EpsilonISCnak:%f%f\n\n, epsilon_ISCN_v) I risultati sono riassunti nella seguente tabella : 400 :0 [kg F= cm2 ]650 :0 [kg F= cm2 ]Lagrange" 0:0396 0:0015Comp. Lin."0 :00110 :0017Min. Quad. 4"9 :6714e-040 :0021Spline N."0 :00105 :3251e-04Spline n-a-k"9 :6747e-045 :3092e-04I valori numerici confermano quanto già valutato qualitativamente in precedenza. In particolare l'in- terpolazione polinomiale di Lagrange risulta del tutto inadeguata per rappresentare la legge tra sforzi e deformazioni (si noti che in corrispondenza dei valori di= 400kg F= cm2 e= 650kg F= cm2 si ottengono valori negativi di deformazione). Per= 400kg F= cm2 l'interpolazione composita lineare, l'approssimante ai minimi quadrati di grado4e la spline cubica forniscono valutazioni ragionevoli ; tut- tavia l'interpolante composita lineare è una funzione solamenteC0 sull'intervallo considerato, mentre l'approssimante ai minimi quadrati e la spline garantiscono una maggiore regolarità (sono funzioni rispettivamenteC1 eC2 ). Le stesse considerazioni possono essere ripetute per= 650kg F= cm2 , dove tuttavia emergono i limiti della spline che, in questo caso, fornisce un valore poco attendibile (tra 2[600;700]kg F= cm2 vi è un minimo non sico). Esercizio 4 Si consideri un generico strumento di misurazione digitale che campioni un segnale espresso dalla funzione g(x) = 10x2 perNvalori dixnell'intervalloI= [0;1]. Le misure rilevate dallo strumento sono aette da rumore casuale e pertanto si possono rappresentare mediante una funzionef(x) =g(x) +"(x), dovej"(x)j 1. Tale rumore può essere espresso in Matlab dall'espressione2 *rand(size(x))-1 , che restituisce un vettore di valori pseudo-casuali nell'intervallo[1;1], e dunque consideriamo le seguenti denizioni pergef:11 g = @(x) 10 *x.^2; %Segnalefisicof = @(x) g(x) + 2 *rand(size(x))-1; %RilevazionedellostrumentoSi noti che la funzione frestituisce un vettore diverso ogni volta che viene valutata (anche sexcontiene gli stessi valori). a)Usando i comandi Matlabpolyfitepolyval, calcolare il polinomio 9f (x)di gradon= 9in- terpolantef(x)inn+ 1nodi equispaziati suI. Usando gli stessi nodi, si calcoli il polinomioe f2( x) di gradom= 2che approssimaf(x)nel senso dei minimi quadrati. Si traccino, dunque, in un'unica gura i graci dif ; g; 9f ;e f2. Quale polinomio approssima meglio il segnale originale ? b)Usare i polinomi 9f (x)ee f2per estrapolare il valore di g(x)inx= 2. Si discutano i risultati ottenuti. c)A causa della presenza di rumore, misurazioni ripetute forniscono tipicamente segnalif(x)diversi. Questa caratteristica è già inclusa nell'implementazione Matlab considerata ; infatti, la funzionerand restituisce valori diversi ad ogni chiamata. Pertanto, è possibile analizzare la stabilità delle approssi- mazioni polinomiali 9f ee f2valutando le variazioni dei risultati rispetto alle variazioni delle coppie f(x i; f (x i) g9 i=0fornite come input. Cosa si può osservare, ripetendo i punti precedenti ? Si discutano i risultati ottenuti. Soluzione 4a)Mediante i seguenti comandi Matlab è possibile ottenere il polinomio interpolante 9f (x)e l'appros- simazionee f2( x)ai minimi quadrati, in10nodi equispaziati. I risultati sono riportati in Figura 11 (a sinistra).>> a =0; b=1; >> g = @(x) 10 *x.^2;>> f = @(x) g(x) + 2 *rand(size(x))-1;>> n = 9; >> x_nodes = linspace(a,b,n+1); >> y_nodes = f(x_nodes); >> >> x_values = linspace(0,1,1001); >> f_values = f(x_values); >> g_values = g(x_values); >> >> Pinterp = polyfit( x_nodes, y_nodes, n ); >> Pinterp_values = polyval( Pinterp, x_values ); >> >> PLeastSquares = polyfit( x_nodes, y_nodes, 2 ); >> PLeastSquares_values = polyval( PLeastSquares, x_values ); >> >> plot( x_values, f_values,-g, x_values, g_values,-k, ...x_values, Pinterp_values,-r, x_values, PLeastSquares_values,-b) >> legend(f(x),g(x),\Pi_nf(x),\tildef_2(x)); Come si può osservare in Figura 11 (sinistra), l'interpolante  9f non è adeguato per la rappre- sentazione del segnalegnell'intervalloI, poiché interpola le coppief(x i; f (x i)) g9 i=0che sono dis- turbate dall'errore"(x i) . Al contrario, l'approssimazionee f2ai minimi quadrati descrive in maniera appropriata la funzione, nonostante siano utilizzate le stesse coppie di dati. Notiamo chee f2non in- terpola esattamente i dati, bensì rappresenta il polinomio di grado 2 che minimizza il funzionale (a 0; a 1; a 2) =P n i=0 f(x i) (a 0+ a 1x i+ a 2x2 i) 2 , dovee f2( x) =a 0+ a 1x +a 2x2 . In questo caso, otteniamo i valoria 0= 0 :5337; a 1= 0:5480; a 2= 10 :1978, raccolti nella variablilePLeastSquares. È opportuno sottolineare che tutti i valori ottenuti dipendono dall'output della funzionerand. b)Estrapolando dai polinomi 9f ee f2al di fuori dell'intervallo I, mediante i seguenti comandi, si possono i graci riportati in Figura 11 (a destra).>> x_values2 = linspace( 0, 2, 1001 ); 12 Figure 11  Polinomio 9f (x)di grado 9 interpolantef(in rosso) e parabolae f2( x)approssimantefai minimi quadrati (in blu), perx2I= [0;1](a sinistra) ed estrapolazioni su[0;2](a destra) ; confronto con f(x)(in verde) eg(x)(in nero).Figure 12  Polinomio 9f (x)di grado9interpolantef(in rosso) e parabolae f2( x)approssimantefai minimi quadrati (in blu), perx2I= [0;1](a sinistra) ed estrapolazioni su[0;2](a destra) ; confronto con f(x)(in verde) eg(x)(in nero) per valori del rumore"(x)diversi da quelli considerati in Figura 11.>> g_values2 = g(x_values2); >> Pinterp_values2 = polyval( Pinterp, x_values2 ); >> PLeastSquares_values2 = polyval( PLeastSquares, x_values2 ); >> Pinterp_values2_x2 = Pinterp_values2( end)Pinterp_values2_x2 = -3.3843e+06 >> PLeastSquares_values2_x2 = PLeastSquares_values2( end)PLeastSquares_values2_x2 = 40.2288 >> plot( x_values, f_values,-g, x_values2, g_values2,-k, ...x_values2, Pinterp_values2,-r, x_values2, PLeastSquares_values2,-b) >> legend(f(x),g(x),\Pi_nf(x),\tildef_2(x)); Si osserva che l'interpolante  9f risulta ancora inadeguato a rappresentare il comportamento della funzionege dunque fornisce un valore inx= 2(pari a 9f (2) =3:3843106 ) che è molto distante da quello della funzione (g(2) = 40). L'approssimazionee f2, invece, permette un'estrapolazione più adabile : il valoree f2(2) = 40 :2288è vicino al valoreg(2) = 40, e l'errore commesso risulta nel range di variabilità[1;1]del rumore"(x)contenuto nella funzione di misurazionef(x). c)Ripetendo i punti precedenti, la funzionerandrestituisce dei valori dierenti ad ogni chiamata : ad esempio, abbiamo ottenuto i risultati riportati in Figura 12. Come si può osservare, l'approssimazione ai minimi quadrati fornisce ancora una rappresentazione adeguata della funzioneg(x), sia nell'intervallo I, sia al di fuori, con una sensibilità molto bassa rispetto allo specico insieme di datif(x i; f (x i)) g9 i=0.130 0.2 0.4 0.6 0.8 1 −2 0 2 4 6 8 10 12 14 x y L a g r . P o l y n o m i a l i n t e r p . & L e a s t - s q u a r e s a p p r o x . f (x) g(x)Q nf (x) e f2( x) 0 0.5 1 1.5 2 0 5 10 15 20 25 30 35 40 x y L a g r . P o l y n o m i a l i n t e r p . & L e a s t - s q u a r e s a p p r o x . f (x) g(x)Q nf (x) e f2( x) 0 0.2 0.4 0.6 0.8 1 −2 0 2 4 6 8 10 12 14 x y L a g r . P o l y n o m i a l i n t e r p . & L e a s t - s q u a r e s a p p r o x . f (x) g(x)Q nf (x) e f2( x) 0 0.5 1 1.5 2 0 5 10 15 20 25 30 35 40 x y L a g r . P o l y n o m i a l i n t e r p . & L e a s t - s q u a r e s a p p r o x . f (x) g(x)Q nf (x) e f2( x) Al contrario, il polinomio interpolante, oltre a non descrivere in maniera appropriata la funzione ginI e a non consentire un'opportuna estrapolazione, risulta molto sensibile alle variazioni legate al rumore ", come si può constatare confrontando le Figure 11 e 12.14