%prva uloha
A = pascal(4);  %z pascalovho trojuholnika vytvori maticu
inv(A)  %vstavana funkcia
A^-1
diag(ones(size(A,1),1))/A   %vypocita inverznu maticu z definicie A^-1 = E/A


%druha uloha
A = [0.38,0.72,1.00,1.52,2.77,5.20,9.54,19.22,30.06;-Inf,0,1,2,3,4,5,6,7]';
A(:,3) = [0.4+0.3*2.^A(:,2)];   %vzorec pre Titus-Bodeho radu
t = 1:1:size(A,1);  %vytvori poradovy vektor
plot(t,A(:,1),':r*',t,A(:,3),'--go')    %skutocne vzdialenosti znazorni ako ...
    ...cervenu (r) bodkovanu (:) ciaru s bodmi oznacenymi hviezdickou (*) ...
    ...a vypocitane vzdialenosti ciarkovanou zelenou ciarou s kruzkami (--,g,o)
xlabel('poradove cislo telesa')
ylabel('vzdialenost (AU)')
title('Titus-Bodeho zakon')
legend('skutocna vzdialenost','vypocitana vzdialenost','Location','NorthWest')


%tretia uloha
%podla navodu a zadanim podmienok sme si nechali vygenerovat data, ktore sme ...
    ...ulozili do suboru u.dat
[logg,temperature,Z,turbulence,u,filter,method,program] = textread('u.dat',...
    '%f %u %f %f %f %s %s %s'); %vytvorili sme vektory 'logg' az 'program',...
    ...ktore maju typ float(f), integer(u) alebo string(s)
A = [];
for i = 1:size(filter,1)
    if strcmp(filter(i),'U')    %'strcmp' porovnava identickost stringov
        A = [A;logg(i),temperature(i),Z(i),turbulence(i),u(i),1];
    elseif strcmp(filter(i),'B')
        A = [A;logg(i),temperature(i),Z(i),turbulence(i),u(i),2];
    elseif strcmp(filter(i),'V')
        A = [A;logg(i),temperature(i),Z(i),turbulence(i),u(i),3];
    end
end
figure  %vytvori nove graficke okno
scatter(A(:,2),A(:,5),ones(size(A,1),1),A(:,6))
xlabel('teplota (K)')
ylabel('u')
colormap(jet(3))    %priradi cislam 1, 2 a 3 farebnu mapu 'jet'
hcb = colorbar('YTickLabel',{'U','V','B'},'location','EastOutside');
    %vytvori 'colorbar' s urcenymi menovkami a poziciou
set(hcb,'YTick',1.33:0.66:3)    %definuje polohu menoviek
