Home > Doc > Manuale Matlab > Ulteriori informazioni su Matrici ed Array

Manuale Matlab

Ulteriori informazioni su Matrici ed Array

Questa seziona ci fornisce ulteriori informazioni sul modo di trattare matrici ed array , Focalizziamo ora l’attenzione sui seguenti argomenti:

1)Algebra Lineare

2)Arrays

3)Multivariate Data

 Algebra Lineare Spesso i termini matrici ed array sono usati in modo interconnesso. Pi`u precisamente, una matrice `e un array numerico e due dimensioni che rappresenta una trasformazione lineare. Le operazioni matematiche definite sulle matrici sono il soggetto dell’algebra lineare.

La D¨urer’s magic square seguente:

A = 16 3 2 13

5 10 11 8

9 6 7 12

4 15 14 1

prevede molti esempi che danno un’idea delle operazioni sulle matrici in MATLAB. Lei già ha visto la matrice trasposta, A’. Aggiungendo una matrice alla sua trasposta si ottiene una matrice simmetrica.

Il simbolo della moltiplicazione, *, denota la moltiplicazione fra matrici come prodotto righe per colonne. Moltiplicando una matrice alla sua trasposta si ottiene allo stesso modo una matrice simmetrica.

Il determinante di questa particolare matrice risulta essere zero, indicando che la matrice è singolare.

quando la matrice è singolare, non ha un inversa. Se si tenta di calcolare l’inversa con:

X = inv(A)

si otterrà un segnale di avvertimento del tipo:

Warning: Matrix is close to singular or badly scaled.

Results may be inaccurate. RCOND = 1.175530e-017.

L’errore di Roundoff ha prevenuto l’algoritmo di inversione di matrice dallo scoprire la singolarità esatta. Gli autovalori della magic square sono interessanti.

Uno degli autovalori è zero che è un altra conseguenza della singolarità. Il più grande autovalore è 34, cioè pari alla somma magica. Questo perchè il vettore unitario è un autovettore.

Quando una magic square è scalata della sua somma magica, P = A/34 il risultato è una matrice le cui somme delle righe e delle colonne sono tutte uno.

Tali matrici rappresentano le probabilità della transizione in un processo di Markov. Potenze ripetute della matrice rappresentano passi ripetuti del processo. Ad esempio, la quinta potenza:

Questo mostra che come k tende ad infinito, tutti gli elementi della kth potenza,Pk, tendono ad 1/4. Infine, i coefficienti nel polinomio della caratteristica:

poly(A)

sono:

1 -34 -64 2176 0

Questo indica che il polinomio della caratteristica

det(A - λI) (2.1)

è

λ4 - 34 λ3 - 64λ2- 2176λ (2.2)

Il termine costante è zero, perchè la matrice è singolare, e il coefficiente del termine cubico è -34, perchè la matrice è magica!

 ARRAY Al di fuori del mondo dell’algebra lineare, le matrici possono essere viste come array bidimensionali. Le operazioni di aritmetica sugli arrays sono effettuate elemento per elemento. Questo vuole dire che somma e sottrazione si equivalgono per arrays e matrici ma le operazioni di moltiplicazione sono diverse. MATLAB usa un punto, o punto decimale, come parte della notazione per operazioni di moltiplicazione degli arrays.

La lista degli operatori è la seguente:

+ Somma

- Sottrazione

* Moltiplicazione elemento per elemento

/ Divisione elemento per elemento

\ Divisione sinistra elemento per elemento

^ Potenza elemento per elemento

’ Transposta

Se la D¨urer magic square è moltiplicata per se stessa attraverso la moltiplicazione di arrays

A.*A

il risultato è un array che contiene il quadrato dei numeri interi da 1 a 16, in un ordine insolito.

Le operazioni sugli array sono utili per costruire tavole. Definiamo n come il vettore colonna seguente:

n = (0:9)';

Poi

pows = [n n.^2 2.^n]

forma una tabella di quadrati e potenze di due.

Le funzioni matematiche elementari operano su arrays elemento per elemento. Così risulta:

format short g x = (1:0.1:2)'; logs = [x log10(x)]

forma una tavola di logaritmi.

 Multivariate Data

MATLAB usa l’analisi orientata sulle colonne per dati statistici multivariate. Ogni colonna in una collezione di dati rappresenta una variabile e ciascuna fila un’osservazione. L’elemento (i,j)-esimo è la ith osservazione della jth variabile. Come esempio, si consideri una collezione di dati con tre variabili:

 Pulsazioni

 Peso

 Ore di esercizi per settimana

Per cinque osservazioni, l’array che ne risulta è il seguente:

D = 72 134 3.2 81 201 3.5 69 156 7.1 82 148 2.4 75 170 1.2

La prima fila contiene le pulsazioni ,il peso ,le ore di esercizi per settimana per il paziente 1, la seconda fila contiene i dati per il paziente 2, e così via. Ora si possono applicare molte delle funzioni di analisi dei dati di MATLAB a questa collezione di dati. Per esempio, per ottenere la deviazione standard di ciascuna colonna:

Per un elenco delle funzioni per l’analisi di dati, disponibili in MATLAB, digitare:

help datafun

Se si ha accesso allo Statistics Toolbox, si digiti:

help stats

G. Ciaburro

Successivo: Strutture di controllo del flusso

Sommario: Index