Spline cubica ordine di convergenza esercizio, riapertura post

Messaggioda andreadel1988 » 14/07/2023, 12:12

Niente mi è stato chiuso un post (che era pure pubblicato tipo 5 giorni fa e poi bumpato e quindi è tornato a ieri a cui ho modificato le cose questa mattina), perchè era un immagine e perchè si pensava erroneamente fosse una prova da me sostenuta invece si trattava di una prova di esame del 31 gennaio del 2022 e quindi niente ho chiarito con i moderatori e ora riscrivo tutto:

Considera la funzione $f(x) =\int_{-pi/2}^xt cos(t) sin(t)dt$, per $x in[−pi/2,pi/2]$.
Nota: Per le valutazioni di $f$, approssima l’integrale mediante una formula di quadratura
composita di grado $2$, con almeno $10$ intervalli.
1) Fai il grafico di $f$ (Figura 1) nell’intervallo considerato.
2) Per $n+ 1$ nodi con $nin{4, 6, 8}$, determina la spline cubica interpolante con condizioni
sulla derivata agli estremi, e sovrapponine il grafico a quello di $f$ in Figura 1.
3) Verifica sperimentalmente e riporta mediante display come nella tabella sottostante,
anche per $n$ più grande, che l’ordine di convergenza è $O(h^p)$ con $p$ opportuno, dove $h$
è il massimo della lunghezza degli intervalli considerati.
4) Per lo stesso numero di nodi del punto 2, scegliendo nodi di Chebyshev, determina
il polinomio interpolatorio $p_n$ approssimante $f$, ed aggiungilo alla Figura 1. Includi etichette, titolo e legenda per tutte le curve presenti.
Fai il grafico (Figura 2) dell’errore $E(x) = p_n(x) − f(x)$ con $x in[−pi/2,pi/2]$ . Includi etichette e titolo.

Il mio codice:

Codice:
m=10;
a=-pi/2; b=pi/2;
g=@(t)(t.*cos(t).*sin(t));
f = @(x)( (x(:,end)+pi/2)/6/m.*( g(x(:,1))+2*sum(g(x(:,3:2:2*m)),2)+4*sum(g(x(:,2:2:2*m)),2)+g(x(:,2*m+1))) );
k=0;
t=linspace(a,b,10000);
for tt=t
    k=k+1;
    x(k,:)=linspace(-pi/2,tt,2*m+1);
end
figure(1)
plot(t,f(x),'r')
hold on
pause
t=linspace(a,b,10000)';
for n=[4 6 8]
     x1=linspace(a,b,n+1)';
     xcap=cos( (2*(0:n)+1)./(2*n+2)*pi)';
     x2=(a+b)/2+(b-a)/2*xcap;
     for k=1:n+1
        xf1=linspace(-pi/2,x1(k),2*m+1);
        xf2=linspace(-pi/2,x2(k),2*m+1);
        y1(k)=f(xf1);
        y2(k)=f(xf2);
     end
    s=spline(x1(:),[0;y1(:);0],t);
    Er=max(abs(f(x)-s));
    if n~=4
         p=log(Er_old/Er);
         disp([n,p]);
    end
    Er_old=Er;
    c = get_polyn(x2,y2');
    yp= polyval(c,t);
    figure(1)
    plot(t,s,'b')
    plot(t,yp,'g');
    title('Grafico errore')
    legend('f','spline cubica','polinomio interpolante nei nodi di Chebyshev')
    xlabel('asse x')
    ylabel('asse y')
    pause
    figure(2)
    plot(t,f(x)-yp);
    hold on
    title('Funzione Errore di interpolazione')
    xlabel('valutazioni in t')
    ylabel('Errore con nodi di Chebyshev')
    pause
end


Volevo sapere se l'ordine di convergenza $p$ fosse giusto e se il grafico dell'errore andasse bene:

Immagine
Ultima modifica di andreadel1988 il 14/07/2023, 12:55, modificato 1 volta in totale.
“E ora sono diventato la morte. Il distruttore di mondi” J. Robert Oppenheimer
andreadel1988
Senior Member
Senior Member
 
Messaggio: 858 di 1184
Iscritto il: 26/08/2022, 09:15

Re: Spline cubica ordine di convergenza esercizio, riapertura post

Messaggioda feddy » 14/07/2023, 12:55

Qual è il $p$ che ti devi aspettare? O meglio, cosa dice la teoria in questo caso? Se l'ordine è quello predetto dalla teoria allora il grafico dell'errore sarà pure giusto.
Avatar utente
feddy
Moderatore
Moderatore
 
Messaggio: 3030 di 5934
Iscritto il: 26/06/2016, 00:25
Località: SISSA

Re: Spline cubica ordine di convergenza esercizio, riapertura post

Messaggioda andreadel1988 » 14/07/2023, 12:59

feddy ha scritto:Qual è il $p$ che ti devi aspettare? O meglio, cosa dice la teoria in questo caso?

in teoria, se non sbaglio, siccome in questo caso abbiamo una spline cubica l'ordine di convergenza dovrebbe tendere a $4$ (rifacendosi al fatto che nei polinomi compositi si ha $||E||_{infty}<=ch^(l+1)$ dove $l$ è il grado dei polinomi negli intervalli dove uso l'interpolazione, in questo caso la spline cubica ha grado $3$ sui sottointervali), il problema e che a me in $n=6$ viene $1.9539$, mentre in $n=8$ viene $1.3891$
“E ora sono diventato la morte. Il distruttore di mondi” J. Robert Oppenheimer
andreadel1988
Senior Member
Senior Member
 
Messaggio: 859 di 1184
Iscritto il: 26/08/2022, 09:15

Re: Spline cubica ordine di convergenza esercizio, riapertura post

Messaggioda andreadel1988 » 14/07/2023, 13:04

feddy ha scritto:Se l'ordine è quello predetto dalla teoria allora il grafico dell'errore sarà pure giusto.

No perchè il grafico dell'errore è relativo all'interpolazione polinomiale con i nodi di Chebyshev, mentre l'ordine di convergenza riguarda la spline cubica.
“E ora sono diventato la morte. Il distruttore di mondi” J. Robert Oppenheimer
andreadel1988
Senior Member
Senior Member
 
Messaggio: 860 di 1184
Iscritto il: 26/08/2022, 09:15

Re: Spline cubica ordine di convergenza esercizio, riapertura post

Messaggioda feddy » 14/07/2023, 13:20

Perdonami mi riferivo al primo grafico richiesto. Ora non riesco a guardare, se ho tempo farò stasera.
Avatar utente
feddy
Moderatore
Moderatore
 
Messaggio: 3031 di 5934
Iscritto il: 26/06/2016, 00:25
Località: SISSA

Re: Spline cubica ordine di convergenza esercizio, riapertura post

Messaggioda andreadel1988 » 14/07/2023, 13:41

feddy ha scritto:Perdonami mi riferivo al primo grafico richiesto. Ora non riesco a guardare, se ho tempo farò stasera.

Ok, va bene, grazie mille
“E ora sono diventato la morte. Il distruttore di mondi” J. Robert Oppenheimer
andreadel1988
Senior Member
Senior Member
 
Messaggio: 861 di 1184
Iscritto il: 26/08/2022, 09:15


Torna a Analisi Numerica e Ricerca Operativa

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite