Numeri complessi
Matlab tratta nativamente i numeri come se fossero numeri complessi. I numeri reali sono numeri complessi a parte immeginaria nulla. La precisione è doppia, sia per parte reale, sia per parte immaginaria, quindi un numero complesso occupa 128 bit.
Matlab definisce l'unità immaginaria con le lettere i o j. I numeri immaginari sono indicabili in uno dei seguenti modi, tra loro equivalenti: a + bi, a + b*i, a + bj, a + b*j.
La somma e il prodotto di numeri complessi vengono eseguite con gli operatori usuali: z + w, z - w, z*w, z^n, z/w. Ad esempio:
>> (1+3j)+(1+2j)
ans =
2.0000 + 5.0000i
>> (1+3i)^3
ans =
-26.0000 -18.0000i
OPERAZIONI DI BASE CON I NUMERI COMPLESSI
La parte reale di un numero complesso si ottiene con la funzione real, mentre la parte immaginaria con la funzione imag. Ad esempio:
>> real(1+3i)
ans =
1
>> imag(1+3i)
ans =
3
Modulo e argomento si ottengono con abs e angle (l'angolo è restitutito in radianti). Ad esempio:
>> abs(1+3i)
ans =
3.1623
>> angle(1+3i)
ans =
1.2490
Il complesso coniugato si può ottenere con la funzione conj. Ad esempio
>> conj(1+3i)
ans =
1.0000 - 3.0000i
ll complesso coniugato può essere calcolato anche con l'operatore matriciale ' che calcola il trasposto coniugato di una matrice o un vettore. Ad esempio:
>> (1+3i)'
ans =
1.0000 - 3.0000i
>> v = [1+3i 3+5i 5+7i] % vettore di partenza
v =
1.0000 + 3.0000i 3.0000 + 5.0000i 5.0000 + 7.0000i
>> v' % trasposto coniugato
ans =
1.0000 - 3.0000i
3.0000 - 5.0000i
5.0000 - 7.0000i
>> M = [1+2i 1+4i; 2+6i 2+8i; 3-10i 3-12i] % matrice di partenza
M =
1.0000 + 2.0000i 1.0000 + 4.0000i
2.0000 + 6.0000i 2.0000 + 8.0000i
3.0000 -10.0000i 3.0000 -12.0000i
>> M' % matrice trasposta coniugata
ans =
1.0000 - 2.0000i 2.0000 - 6.0000i 3.0000 +10.0000i
1.0000 - 4.0000i 2.0000 - 8.0000i 3.0000 +12.0000i
RAPPRESENTAZIONE GRAFICA DI NUMERI COMPLESSI
Un numero complesso può essere rappresentato graficamente, nel piano di Gauss, in più modi:
- con la funzione compass( z ) si rappresenta come vettore;
- con la funzione plot( z, 'o' ) si rappresenta come un punto circolare nel piano di Gauss;
- con la funzione plot( z, 'square' ) si rappresenta come un punto quadrato. nel piano di Gauss.
Ad esempio:
>> z = 1+3i
z =
1.0000 + 3.0000i
>> compass(z)