function Graf_2D_4_komplex_cis
% zobrazeni komplexnich cisel ulozenych v matici a,
% vypocet velikosti a uhlu pro zobrazeni v polarnich souradnicich
clc; % vymazani pracovniho pole Command window
a=[1+i,-2+2i;-3-3i,4-4i]; % dana komplexni cisla
fprintf('\n Zobrazovana komplexni cisla:') % vypis textu na obrazovku
fprintf('\n') % \n  - dalsi text zacina na nove radce
disp(a) % zobrazi promennou bez jejiho nazvu, tj. bez " a = "

subplot(2,2,1); % rozdeleni grafickeho okna na 4 casti (nasledujici graf v 1. casti)
plot(a,'ko','MarkerFaceColor','y','MarkerSize',10) % vytvari dvourozmerny graf
    % komplexni cisla jsou zobrazena jako cerne krouzky
    % MarkerFaceColor - barva vyplne znacky zluta
    % MarkerSize - velikost znacky
xlabel('Re') % popis osy x (realna osa)
ylabel('Im') % popis osy y (imaginarni osa)
grid % mrizka

subplot(2,2,2); % rozdeleni grafickeho okna na 4 casti (nasledujici graf v 2. casti)
compass(a,'r') % vytvari graf komplexnich cisel ve forme sipek vychazejicich z pocatku
               % zvolena barva sipek je cervena

v=abs(a); % vypocet velikosti komplexniho cisla podle vzorce: sqrt(Re^2+Im^2)
          % parametr funkce abs je komplexni cislo nebo matice
fprintf('\n Velikost danych komplexnich cisel:') % vypis textu na obrazovku
fprintf('\n') % \n  - dalsi text zacina na nove radce
disp(v) % zobrazi promennou bez jejiho nazvu, tj. bez " v = "

u_radiany=angle(a); % vypocet uhlu komplexniho cisla podle vzorce: arctg(Im/Re)
                    % parametr funkce angle je komplexni cislo nebo matice
fprintf('\n Uhly danych komplexnich cisel v radianech,') % vypis textu na obrazovku
fprintf('\n zjistene pomoci prikazu angle:') % vypis textu na obrazovku
fprintf('\n') % \n  - dalsi text zacina na nove radce
disp(u_radiany) % zobrazi promennou bez jejiho nazvu

u_stupne=u_radiany*180/pi; % prevod na stupne
fprintf('\n Prevod na stupne:') % vypis textu na obrazovku
fprintf('\n') % \n  - dalsi text zacina na nove radce
disp(u_stupne) % zobrazi promennou bez jejiho nazvu

subplot(2,2,3); % rozdeleni grafickeho okna na 4 casti (nasledujici graf v 3. casti)
polar(u_radiany,v,'*') % vytvari graf v polarnich souradnicich
                       % komplexni cisla jsou zobrazena jako hvezdicky

% Jine moznosti vypoctu uhlu:
u_rad_arctg(1,1)=atan(1/1);       % vypocet uhlu komplexniho cisla podle vzorce: arctg(Im/Re)
u_rad_arctg(1,2)=atan(2/(-2));    % vypocet se provadi pro kazde komplexni cislo zvlast
u_rad_arctg(2,1)=atan((-3)/(-3)); % parametr funkce atan je podil imaginarni a realne casti komplex. c.
u_rad_arctg(2,2)=atan((-4)/4);    % POZOR!!! Vysledek je v intervalu od -pi/2 do pi/2,
                                  % tj. jedna se o vypocet arctg ve pouze v 1. a 4. kvadrantu sour. systemu,
                                  % pro 2. a 3. kvadrant je nutno vysledek prepocitat.
                                  % POZOR!!! Pokud neni vysledek prepocitan, pro
                                  % komplexni cisla -2+2i a -3-3i nevychazi spravne!!!
u_stupne_arctg=u_rad_arctg*180/pi; % prevod na stupne
fprintf('\n Uhly danych komplexnich cisel prevedene na stupne,') % vypis textu na obrazovku
fprintf('\n zjistene pomoci prikazu atan:') % vypis textu na obrazovku
fprintf('\n !!! Pozor, nevychazi spravne!!!') % vypis textu na obrazovku
fprintf('\n') % \n  - dalsi text zacina na nove radce
disp(u_stupne_arctg) % zobrazi promennou bez jejiho nazvu

u_rad_arctg_2(1,1)=atan2(1,1);        % vypocet uhlu komplexniho cisla podle vzorce: arctg(Im/Re)
u_rad_arctg_2(1,2)=atan2(2,(-2));     % vypocet se provadi pro kazde komplexni cislo zvlast
u_rad_arctg_2(2,1)=atan2((-3),(-3));  % parametry funkce atan2 jsou imaginarni a realna cast komplex. c.
u_rad_arctg_2(2,2)=atan2((-4),4);     % vysledek je v intervalu od -pi do pi, 
                                      % tj. jedna se o vypocet arctg ve vsech 4 kvadrantech sour. systemu 

u_stupne_arctg_2=u_rad_arctg_2*180/pi; % prevod na stupne
fprintf('\n Uhly danych komplexnich cisel prevedene na stupne,') % vypis textu
fprintf('\n zjistene pomoci prikazu atan2:') % vypis textu na obrazovku
fprintf('\n') % \n  - dalsi text zacina na nove radce
disp(u_stupne_arctg_2) % zobrazi promennou bez jejiho nazvu

subplot(2,2,4); % rozdeleni grafickeho okna na 4 casti (nasledujici graf v 4. casti)
feather(a,'g') % vytvari graf komplexnich cisel ve forme sipek vychazejicich 
               % z rovnomerne rozlozenych bodu na horizontalni ose,
               % tj. body pocatku sipek jsou [1,0], [2,0], [3,0], [4,0]
grid % mrizka               
