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: