Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
EXERCISE
2
Indice
1 Aritmetica di macchina........................................................................................................................ 5
2 Interpolazione ........................................................................................................................................... 9
6 Quiz 1 ..........................................................................................................................................................30
7 Quiz 2 ..........................................................................................................................................................33
8 Quiz 3 ..........................................................................................................................................................37
3
4
1 Aritmetica di macchina
La risposta corretta è:
La risposta corretta è: 4
5
• Si consideri la
successione ,
,
convergente a . Si calcolino gli errori relativi rispetto
a per . Il minimo errore relativo vale, circa,
x=zeros(40,1);
x(1)=2;
for n=2:40
x(n)=2.^(n-1/2).*sqrt(1-sqrt(1-4.^(1-n).*x(n-1).^2));
end
min(abs(x-pi))/pi
• Si calcolino le quantita'
con e e successivamente
con e . Si usi sia la formula indicata sopra, che una
equivalente in aritmetica infinita, ma che elimini il fenomeno della cancellazione numerica.
Sia la quantita' calcolata con questo secondo algoritmo. Si valutino gli errori
relativi per entrambe le coppie di dati assegnati.
Quale delle seguenti affermazioni e' corretta?
x1=1.7;
d1=2.1*10^(-9);
y1=sqrt(x1+d1)-sqrt(x1);
y1_=d1/(sqrt(x1+d1)+sqrt(x1));
err1=abs(y1-y1_)/abs(y1_)
x2=31000;
d2=7.1*10^(-4);
y2=sqrt(x2+d2)-sqrt(x2);
y2_=d2/(sqrt(x2+d2)+sqrt(x2));
err2=abs(y2-y2_)/abs(y2_)
La risposta corretta è: Gli errori relativi sono rispettivamente circa 1.1e-07 e 5.6e-09, quindi la
cancellazione numerica e' piu' evidente nel primo caso
quindi come valore esatto: qual e' l’errore relativo che commettiamo sostituendo
a il valore ?
6
x=10^(-12);
f1=(exp(3*x)-1)/x;
f2=3+(9*x/factorial(2))+(27*x^2/factorial(3))+(81*x^3/factorial(4))+(243*x^4/
f
actorial(5));
err=abs(f2-f1)/abs(f2)
La risposta corretta è:
La risposta corretta è:
• Valutare per .
Successivamente riformulare al fine di evitare il fenomeno
della cancellazione numerica e, assumendo come valore esatto
quello che si ottiene mediante la riformulazione proposta,
calcolare l'errore relativo associato a . Esso vale all'incirca:
x=10^-4;
y=7-sqrt(49+x^2);
y_=(-x^2)/(7+sqrt(49+x^2)); % si elimina la canc.num. razionalizzando
err=abs(y-y_)/abs(y)
La risposta corretta è:
7
• Valutare per .
Successivamente riformulare al fine di evitare
il fenomeno della cancellazione numerica e,
assumendo come valore esatto quello che si
ottiene mediante la riformulazione proposta,
calcolare l'errore relativo associato a .
Esso vale all'incirca:
x=10^-8;
f=@(x) sqrt((exp(x)-1)/x);
yerr=f(x);
f2=0;
for i=1:8
f2=f2+x^(i-1)/factorial(i);
end
y=sqrt(f2);
err=abs(y-yerr)/abs(y)
La risposta corretta è:
La risposta corretta è: 6
8
2 Interpolazione
soddisfacente le condizioni e e
La risposta corretta è:
9
• Determinare il polinomio interpolante la
La risposta corretta è:
La risposta corretta è: n
• Si consideri . Si costruisca il
polinomio interpolante nei punti di
ascissa . Il valore di e' circa
f=@(x) 1+x.^2.*log(2+x);
x=[0.3,0.6,0.9,1.2,1.5];
n=5;
y=f(x);
c=polyfit(x,y,(n-1));
z=3;
p=polyval(c,z);
abs(f(z)-p)
• Si considerino cinque nodi di interpolazione aventi ascisse [0.0, 0.5, 1.0, 1.5, 2.0] e ordinate
11
• Utilizzare la function spline di Matlab per costruire la spline cubica , soddisfacente
le condizioni not-a-knot
e interpolante la funzione in nodi equispaziati
dell'intervallo .
Il massimo errore assoluto d'interpolazione in punti equidistanti dell'intervallo
di interpolazione vale all'incirca:
n=25;
f=@(x) log(x);
x=linspace(1,2,n);
y=f(x);
z=linspace(1,2,1000);
s=spline(x,y,z);
err=max(abs(f(z)-s)
La risposta corretta è:
La risposta corretta è: Non e' possibile trarre conclusioni generali senza conoscere la
regolarita' di e la distribuzione dei nodi
La risposta corretta è: una e una sola, perché ho condizioni tante quanti i parametri
che definiscono la spline richiesta
12
La spline cubica è continua nella sua derivata seconda, imponendo le cond.
di continuità (limite), ci si ricava a
La risposta corretta è:
• Quale dei seguenti comandi costruisce il polinomio fondamentale di Lagrange (cioè il polinomio
della base di Lagrange) associato al primo di tre nodi?
13
• Si interpoli la funzione con un polinomio usando 5 nodi equidistanti in .
In il polinomio interpolante assume il valore:
n=5;
f=@(x) sin(x);
x=linspace(0,pi,n);
y=f(x);
c=polyfit(x,y,(n-1));
z=pi/8;
p=polyval(c,z)
La risposta corretta è:
• Assegnati i dati (-1,4), (1,3), (7,10), (9,10), (19,9), la spline di tipo not-a-knot interpolante i dati
nel punto vale:
x=[-1,1,7,9,19];
y=[4,3,10,10,9];
z=log(0.9);
s=spline(x,y,z)
La risposta corretta è: si', perche' il polinomio interpolante ha grado minimo minore o uguale a 6
14
• Sia e sia il polinomio interpolante
nell'intervallo in nodi di Chebyshev. Quanto vale, approssimato alla quarta cifra
decimale, il coefficiente del temine di grado 1 del polinomio?
f=@(x) sqrt(1+x.^2);
a=0;
b=5;
n=4;
for i=1:(n+1)
t(i)=-cos((((2.*i)-1)*pi)./(2*(n+1)));
x(i)=(((b-a)/2).*t(i))+((b+a)/2);
end
y=f(x);
c=polyfit(x,y,n)
% I coeff. vanno in ordine decrescente: il primo è il coeff. di grado massimo,
l’ultimo è il termine noto, il coeff. del termine di grado 1 è il penultimo.
• Assegnati i dati (3,8), (6,4), (7,5), (14,5), (21,7), il polinomio interpolante i dati nel
punto vale:
n=5;
x=[3,6,7,14,21];
y=[8,4,5,5,7];
c=polyfit(x,y,(n-1));
z=exp(0.7);
p=polyval(c,z)
La risposta corretta è: 10
15
• Qual e' l'espressione del polinomio interpolante la funzione
La risposta corretta è:
funzione
in punti equispaziati dell'intervallo vale all'incirca:
n=8;
f=@(x) 1./(x.^3+5);
x=linspace(0,1,n);
y=f(x);
c=polyfit(x,y,(n-1)) % il coeff. di grado massimo è il primo
La risposta corretta è:
La risposta corretta è:
16
3 Sistemi lineari determinati
• Sia una matrice simmetrica tridiagonale di ordine con gli elementi della diagonale
principale uguali a e quelli delle codiagonali (inferiore e superiore) uguali a . Sia una
matrice di ordine , il cui esimo vettore colonna e' definito da elementi
equispaziati in , . Risolvere i sistemi . La
La risposta corretta è:
La risposta corretta è:
• Qual e' tra quelli proposti il metodo piu' efficiente per risolvere il sistema
lineare con quadrata, densa, di piccole dimensioni e non singolare?
17
• Sia una matrice quadrata di dimensione che ha coefficienti pari a sulla
diagonale principale, coefficienti pari a sulla prima sovra e sotto diagonale e coefficienti
pari a sulla decima sovra e sotto diagonale. Si calcoli il numero di condizionamento di in
norma infinito, approssimando alla prima cifra decimale.
A=4*eye(100)+(-1)*diag(ones(99,1),1)+(-1)*diag(ones(99,1),-1)+(-2)*diag(ones(
90,1),10)+(-2)*diag(ones(90,1),-10);
cond(A,inf)
vale:
A=[6*pi,3,7;6,9,-1;-3,-2,7];
b=[log(2),6,pi*(-2)]';
x=A\b;
x(2)
A=[4,6;3/5,1];
cond(A,inf)
18
• Sia un sistema lineare di ordine , ove e' simmetrica e tridiagonale con tutti gli
elementi uguali a sulla diagonale principale e uguali a sulle codiagonali superiore e
La risposta corretta è:
• Si applichi il primo passo del metodo delle eliminazioni di Gauss al sistema lineare ,
con
Come cambiano la matrice e il vettore ?
Il primo passo consiste nel manipolare la matrice (A|b) in modo tale da
avere tutti zeri sotto il primo elemento della prima riga (2).
La risposta corretta
è: e
19
• L'elemento del fattore di Cholesky della matrice
A=[6*pi,3,2,1;3,7*pi,1,0;2,1,6,0;1,0,0,4];
R=chol(A);
R(3,3)
20
4 Sistemi lineari sovradeterminati e problemi di regressione
• Si costruisca la parabola approssimante nel senso dei minimi quadrati la nuvola di punti
con coordinate
x=[-2 -1.3 -1 -0.7 -0.4 -0.1]
y=[0.3 0.5 1.5 1.3 0.8 0.1]
Quanto vale, approssimando, la quantita' ?
x=[-2, -1.3, -1, -0.7, -0.4, -0.1];
y=[0.3, 0.5, 1.5, 1.3, 0.8, 0.1];
c=polyfit(x,y,2); % chiede una parabola, perciò deve essere di 2^grado
z=3;
p=polyval(c,z);
abs(p-1.5)
• Il coefficiente angolare della retta che approssima nel senso dei minimi quadrati l'insieme di
punti:
x=[0.2 1.14 0.54 0.87 1.25 2.36 0.19 0.54 0.51 0.33] y=[1.25
2.36 2.58 1.87 2.68 3.41 0.65 0.47 1.36 1.25 ] vale:
x=[0.2, 1.14, 0.54, 0.87, 1.25, 2.36, 0.19, 0.54, 0.51, 0.33];
y=[1.25, 2.36, 2.58, 1.87, 2.68, 3.41, 0.65, 0.47, 1.36, 1.25];
c=polyfit(x,y,1)
% Il coeff. angolare è il primo termine di c
21
• Si costruisca la matrice , dove e' ottenuta tramite il comando magic(20)
e e' la matrice identita'. Si estragga successivamente da la sottomatrice costituita dalle
prime 10 colonne di e si consideri il sistema sovradeterminato con costruito in modo
che il vettore con tutti elementi uguali a 1 sia soluzione. Si risolva il sistema lineare usando
la fattorizzazione QR, e sia la soluzione ottenuta. Si calcoli inoltre la soluzione
ottenuta con il comando backslash di MATLAB. Si calcolino per entrambe le soluzioni gli errori
relativi in norma 2 rispetto alla soluzione esatta, indicandoli ed . Si ha...
B=magic(20)+eye(20);
A=B(:,1:10);
x=ones(10,1);
b=A*x;
[Q,R]=qr(A);
xQR=R\(Q'*b);
xBS=A\b;
errQR=norm(abs(xQR-x)/abs(x))
errBS=norm(abs(xBS-x)/abs(x))
La risposta corretta è:
in , in , in ,
in . Determinare i coefficienti della somma esponenziale di ordine
uno che meglio approssima nel senso dei minimi quadrati i dati
assegnati e la norma del residuo a essa corrispondente.
(suggerimento: effettuare la sostituzione )
x=[0,1,2,3];
y=[1,2,4,8];
z=exp(x);
c=polyfit(z,y,1)
p=polyval(c,z);
res=norm(p-y)
in ; in ; in .
22
x=[0,1,2];
y=[1,2,4];
c=polyfit(x,y,1)
C=magic(60)+eye(60);
A=C(:,1:10);
x=ones(10,1);
b=A*x;
[Q,R]=qr(A);
xQR=R\(Q'*b);
RR=chol(A'*A);
y=(RR')\(A'*b);
xEN=RR\y;
errQR=norm(xQR-x)/norm(x)
errEN=norm(xEN-x)/norm(x)
La risposta corretta è:
23
• Si considerino nodi equispaziati , , compresi tra e ,
estremi inclusi. Si consideri la funzione . La si approssimi con una
parabola usando il metodo dei minimi quadrati applicato ai dati
, . Quanto vale il coefficiente del termine di grado
massimo della parabola?
n=30;
f=@(x) x.*sin(x);
x=linspace(0,1/2*pi);
y=f(x);
c=polyfit(x,y,2)
c = 0.3798 0.5032 -0.0710
24
5 Autovalori e fattorizzazioni di matrici
Il suo raggio spettrale (cioe' il massimo dei moduli degli autovalori) e' circa
for i=1:12
for j=1:12
if i==j
A(i,j)=2*i;
else if i<j
A(i,j)=(-2)/j;
else if i>j
A(i,j)=2/j;
end
end
end
end
end
aval=eigs(A);
max(abs(aval))
La risposta corretta è:
25
• A partire dal vettore unitario, eseguire iterazioni del metodo delle potenze applicato alla
matrice generata con il comando , ove e' un vettore di elementi
equispaziati in . La terza componente dell'approssimazione dell'autovettore di norma 2
unitaria, associato all'autovalore di modulo massimo vale all'incirca:
x=linspace(-1,1,10);
A=vander(x);
z=ones(10,1);
w=z/norm(z);
for i=1:24
z=A*w;
lambda(i+1)=w'*z;
w=z/norm(z);
end
w(3)
La risposta corretta è:
26
• Generare la matrice di Hilbert di ordine e applicare ad essa
iterazioni del metodo delle potenze inverse per calcolare un'approssimazione
La risposta corretta è:
• A partire dal vettore unitario, eseguire iterazioni del metodo delle potenze inverse applicato
alla matrice generata con il comando di ordine . L'errore assoluto
associato all'approssimazione dell'autovalore più vicino a (si prenda come valore di
riferimento quello ottenuto con il comando eig), vale all'incirca:
n=6;
A=pascal(n);
p=2;
z=ones(n,1);
for i=1:4
w=z/norm(z);
z=(A-p*eye(n))\w;
end
lambda=p+1/(w'*z);
aval=eigs(A,1,p);
err=abs(aval-lambda)
27
• Sia un vettore costituito da elementi equispaziati in e sia la matrice generata
con il comando . Determinare la matrice di rango piu' vicina in
norma ad . La norma di vale all'incirca:
x=linspace(0,1,10);
A=vander(x);
[U,S,V]=svd(A);
An=zeros(10,10);
for k=1:7
An=An+S(k,k)*U(:,k)*V(:,k)';
end
norm(An,inf)
La risposta corretta è:
La risposta corretta è:
• Eseguire 6 iterazioni del metodo QR applicato alla matrice di Hilbert di ordine 18. Denotati
con le approssimazioni degli autovalori di e con gli autovalori ottenuti con il comando
A=hilb(18);
for i=1:6
[Q,R]=qr(A);
A=R*Q;
28
end
max(abs(diag(A)-eig(A)))
for i=1:100
for j=1:100
A(i,j)=(1+i+j)/(1+abs(i-j));
end
end
p=100;
[z,D]=eigs(A,1,p);
w=z/norm(z);
norm(w,1)
• Data la matrice
calcolare . La matrice
A=[2,3,4;3,4,6;1,0,3]; B = 14 18 29
B=A'*A 18 25 36
29 36 61
29
6 Quiz 1
La risposta corretta è:
• Valutare per .
Successivamente riformulare al fine di evitare il fenomeno
della cancellazione numerica e, assumendo come valore esatto
quello che si ottiene mediante la riformulazione proposta,
calcolare l'errore relativo associato a . Esso vale all'incirca:
x=10^(-6);
y=5-sqrt(25+x^2);
y_=(-x^2)/(5+sqrt(25+x^2));
err=abs(y-y_)/abs(y_)
La risposta corretta è:
30
• Sia una matrice simmetrica tridiagonale di ordine con gli elementi della diagonale
principale uguali a e quelli delle codiagonali (inferiore e superiore) uguali a .
Sia una matrice di ordine , il cui esimo vettore colonna e' definito da
elementi equispaziati in , .
La risposta corretta è:
31
• Generare la matrice di ordine , il cui generico elemento
e' .
Il condizionamento di in norma e':
for i=1:100
for j=1:100
A(i,j)=sin(min(i,j));
end
end
cond(A,inf)
La risposta corretta è:
La risposta corretta è:
32
7 Quiz 2
La risposta corretta è:
La risposta corretta è:
33
• Sia un sistema lineare di ordine , ove e' simmetrica e tridiagonale con tutti
gli elementi uguali a sulla diagonale principale e uguali a sulle codiagonali superiore e
inferiore e ha elementi equispaziati in .
Calcolare gli autovalori della matrice e, in base alla proprieta' di quest'ultimi, risolvere il
sistema lineare mediante la risoluzione di due sistemi triangolari, utilizzando la
fattorizzazione di piu' efficiente in termini di costo computazionale.
La norma del vettore ottenuto come somma del vettore soluzione del sistema
triangolare inferiore associato al metodo e del vettore soluzione del sistema triangolare
superiore, vale all'incirca:
A=12*eye(44)+4*diag(ones(43,1),1)+4*diag(ones(43,1),-1);
b=linspace(10,12,44)';
R=chol(A);
y=R'\b;
x=R\y;
norm(x+y,inf)
La risposta corretta è:
• L'equazione con ha
nell'intervallo
f=@(x) exp(-sin(5.*x)).*x.^2-x;
x=linspace(-2,2);
y=f(x);
plot(x,y)
% tracciando una retta y=0, si vede quante volte interseca con il grafico
34
• Valutare per .
Successivamente riformulare al fine di evitare
il fenomeno della cancellazione numerica e,
assumendo come valore esatto quello che si
ottiene mediante la riformulazione proposta,
calcolare l'errore relativo associato a .
Esso vale all'incirca:
x=10^-10;
f=@(x) sqrt((exp(x)-1)/x);
yerr=f(x);
f2=0;
for i=1:10
f2=f2+x^(i-1)/factorial(i);
end
y=sqrt(f2);
err=abs(y-yerr)/abs(y)
La risposta corretta è:
• Si consideri . Si costruisca il
polinomio interpolante nei punti di
ascissa . Il valore di e' circa
f=@(x) 1+x.^2.*log(2+x);
x=[0.3,0.6,0.9,1.2,1.5];
y=f(x);
c=polyfit(x,y,4);
abs(f(3)-polyval(c,3))
35
• Sia la matrice di Hilbert (comando hilb) di dimensione . La somma degli elementi
di minori di vale:
A=hilb(90);
s=0;
for i=1:90
for j=1:90
if A(i,j)<0.07
s=s+A(i,j);
end
end
end
s
• Si costruisca la parabola approssimante nel senso dei minimi quadrati la nuvola di punti
con coordinate
x=[-2 -1.3 -1 -0.7 -0.4 -0.1]
y=[0.3 0.5 1.5 1.3 0.8 0.1]
Quanto vale, approssimando, la quantita' ?
x=[-2, -1.3, -1, -0.7, -0.4, -0.1];
y=[0.3, 0.5, 1.5, 1.3, 0.8, 0.1];
c=polyfit(x,y,2);
abs(polyval(c,3)-1.5)
36
8 Quiz 3
La risposta corretta è:
soddisfacente le condizioni e e
La risposta corretta è:
• Sia la matrice di Hilbert di ordine (comando hilb) e sia il vettore colonna contenente i
primi numeri pari strettamente positivi. Si risolva il sistema lineare con il
metodo di eliminazione gaussiana implementato nativamente in MATLAB. La terza
componente della soluzione vale circa
H=hilb(10);
b=[2:2:20]';
x=H\b;
x(3)
37
• Sia un vettore costituito da elementi equispaziati in e sia la matrice generata con
il comando .
Determinare la matrice di rango piu' vicina in norma ad . La norma di
vale all'incirca:
x=linspace(4,6,8);
A=vander(x);
[U,S,V]=svd(A);
An=zeros(8,8);
for k=1:5
An=An+S(k,k)*U(:,k)*V(:,k)';
end
norm(An,1)
La risposta corretta è:
La risposta corretta è:
La risposta corretta è:
38
• In un calcolatore i numeri vengono rappresentati in aritmetica floating-point, con
base , cifre di mantissa e tecnica di arrotondamento rounding to even. Assegnati i
numeri
e si effettua
l'operazione .
Dire in quale dei seguenti casi si presenta il fenomeno della cancellazione numerica.
Per t=2: a=0.02. b=-0.02
La risposta corretta è:
La risposta corretta è:
La risposta corretta è:
39