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 j. I  numeri immaginari sono indicabili in uno dei seguenti modi, tra loro equivalenti: a + bia + b*ia + bja + b*j.

La somma e il prodotto di numeri complessi vengono eseguite con gli operatori usuali: z + wz - w, z*wz^nz/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)
Ultime modifiche: sabato, 23 dicembre 2023, 15:50