Disegni di insiemi di numeri complessi

pengo1
Salve a tutti! Purtroppo, sono rimasto per molto tempo lontano dal Forum, e forse dovrei addirittura ripresentarmi.
Scrivevo per chiedervi: voi sappiate se (e come) si possa disegnare con un qualsiasi software (come Gnuplot, Mathematica, MATLAB, etc. etc.) o anche con WolframAlpha un insieme di numeri complessi?

Io ho pensato che lo si potrebbe vedere come insieme di punti di \(\displaystyle \mathbb{R}^2 \), e quindi poi si potrebbero definire delle condizioni... Ma ho cercato un po' sulla rete senza successo.

Ad esempio, poniamo che io voglia rappresentare l'insieme \(\displaystyle \{ u \in \mathbb{C} : u = \frac{1}{z}, z \in E \} \), dove E è l'insieme \(\displaystyle \{ z \in \mathbb{C} : |z-1+i| < \sqrt{2} \} \). Come potrei fare? Definendo una funzione a variabile complessa??

Scusate, ma davvero non sono riuscito a trovare nulla. Se voi aveste anche un sito, o un vecchio post del forum, sarebbe perfetto!

Grazie

Risposte
Lory314
Provo a risponderti io.
Innanzi tutto penso che la parte principale sia capire chi è l'insieme E.

$E=\Set{z \in \mathbb{C} : |z-1+i|\leq \sqrt{2} }$.

$z \in \mathbb{C}$ significa che $z = a + ib$ con $a, b \in mathbb{R}$. La condizione $|z-1+i|\leq \sqrt{2} $ ci dice che
$|a+ib-1+i|\leq \sqrt{2}$, cioè $|a-1+i(b+1)|\leq \sqrt{2}$, cioè $(a-1)^2 + (b+1)^2 \leq 2$.

Quindi vuol dire che l'insieme $E$ è formato dai numeri complessi della forma $a+ib$ tali che $(a-1)^2 + (b+1)^2 \leq 2$.

Ora, prendendo ad esempio MatLab, potresti creare una griglia fitta quanto vuoi di una certa grandezza che rappresenta la parte reale e la parte immaginaria di $z$ e imponi la condizione:

clear all, close all

a = linspace(-10,10,500); % Parte reale di z
b = linspace(-10,10,500); % Parte immaginaria di z

figure
for i=1:length(a)
   for j=1:length(b)
          if ( ((a(i)-1)^2 + (b(j)+1)^2) <= 2 )
                   plot(a(i),b(j),'or') hold on
           end if
   end
end



Non ho testato il codice ma l'ho scritto ora direttamente qui.
Adesso, ammesso che quanto ho scritto sia giusto, non dovrebbe essere troppo complicato disegnare l'insieme $\Set{ u \in \mathbb{C} : u=\frac{1}{z}, z \in E}$.
Potresti ad esempio modificare il codice di prima, salvando in due array le posizioni degli elementi che soddisfano la condizioni per cui essi appartengono ad E e poi disegnare usando il fatto che:
$1/z = \frac{a}{a^2 + b^2} - i\frac{b}{a^2+b^2}$

clear all, close all

a = linspace(-10,10,500); % Parte reale di z
b = linspace(-10,10,500); % Parte immaginaria di z

k=0;

for i=1:length(a)
   for j=1:length(b)
          if ( ((a(i)-1)^2 + (b(j)+1)^2) <= 2 )
		 k=k+1;
                 ii(k) = i;
                 jj(k) = j;
          end
   end
end

figure
for i=1:k
	plot(a(ii(i))/(a(ii(i))^2 + b(ii(i))^2),-b(ii(i))/(a(ii(i))^2 + b(ii(i))^2),'or') 
	hold on 
end


Ora, probabilmente il codice non è molto efficiente, ma penso che possa essere giusto. Se ho sbagliato qualcosa mi scuso in anticipo.

elgiovo
Carina l'implementazione Matlab di Lory314.

Con Mathematica hai diverse opzioni (fonte: help di Mathematica):

Per vedere come viene mappata una griglia puoi usare ParametricPlot[]: ad esempio, il codice qui sotto plotta la griglia e le funzioni radice quadrata e radice cubica:
Table[ParametricPlot[{Re[(u + I v)^n], Im[(u + I v)^n]}, {u, -2, 
   2}, {v, -2, 2}, MeshStyle -> {Orange, Green}, 
  PlotRange -> 2], {n, {1, 1/2, 1/3}}]


Questo codice invece non plotta la griglia ma direttamente la funzione \(\displaystyle f(z)=z+\frac{1}{z} \)
ParametricPlot[
 With[{z = u + I v}, {Re[z + 1/z], Im[z + 1/z]}], {u, -1/2, 
  1/2}, {v, -1/2, 1/2}, PlotRange -> 5]



Altrimenti, puoi vedere come si comporta la funzione sul piano complesso in termini di modulo, fase, parte reale, parte immaginaria, ecc. Questo è facile, basta usare ContourPlot[] perché hai a che fare con funzioni reali di due variabili reali. Ad esempio, il codice sotto plotta la parte reale delle funzioni trigonometriche inverse:

Table[ContourPlot[Re[f[x + I y]], {x, -Pi, Pi}, {y, -Pi, Pi}, 
  PlotLabel -> f, FrameTicks -> {{-Pi, 0, Pi}, {-Pi, 0, Pi}}, 
  ClippingStyle -> Automatic, 
  ColorFunction -> "Pastel"], {f, {ArcSin, ArcCos, ArcCsc, ArcSec, 
   ArcTan, ArcCot}}]



Se vuoi vedere il modulo, basta che scambi Re[] con Abs[] e via dicendo.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.