Corso di Laurea Triennale in Matematica
Laboratorio di Calcolo Numerico A.A. 2007/2008 – II semestre
Esercitazione 5
Creare una cartella <cognome> dove verranno salvati i file creati nella sessione di lavoro.
Appena entrati in MATLAB posizionarsi in <cognome>.
Risolvere in ambiente MATLAB i seguenti esercizi.
1. Scrivere una function MATLAB che implementi il metodo delle potenze. La funzione deve prendere in input la matrice A, il vettore di innesco x0, il numero massimo di iterazioni consentite (nmax) e la tolleranza toll per il criterio di arresto. La funzione dovrà restituire l’autovalore massimo in modulo di A, il corrispondente autovettore destro e il numero di iterazioni effettuate.
2. Trovare l’autovalore massimo in modulo delle seguenti matrici:
−
−
−
−
−
=
20 16 16
9 13 11
9 9 7
A ,
−
−
−
−
−
=
11 1 1
5 15 14
4 5 4
A ,
−
=
10 3 . 3 1 . 0
2 . 4 5 3 . 8
7 2 . 3 5 A
applicando il metodo delle potenze con x0=ones(3,1), toll=10-6, nmax=500.
Commentare i risultati ottenuti.
3. Giustificare i risultati ottenuti applicando il metodo delle potenze a
−
−
−
=
4 8 8
1 3 5
1 1 1
A e
−
=
0 1
0 0
0 0 1 0
0 0 0 1
432 576 141
4 A
con x0=ones(n,1), toll=10-6, nmax=500.
4. Trovare l’autovalore massimo in modulo della matrice
−
−
−
−
−
=
20 16 16
9 13 11
9 9 7 A
con vettore iniziale
+
=
001 e- 1865474 7.07106781
000 e 2373097 1.41421356
001 e- 1865490 7.07106781
-
x0 , x0=[0;-sqrt(2)/2;-sqrt(2)/2] e
= 1 1 1 x0 .
A cosa è dovuta la diversità di comportamento del metodo nei due casi?
Fissare nmax=500 e toll= 10-6 per il criterio di arresto.