clc
%%%%%%%%%%%Przyklad 1%%%%filtrowanie danych%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
data = rand(5,4)  % Twoje dane
data2col = data(:,2) % wybieram kolumne 2
nRows = find(data2col>0.5) % szukam nr wierszy w kolumnie 2 dla ktorych wartosci byly > 0.5
dataLessThen05 = data([nRows],:) % znajac nr wierszy wybieram z poczatkowych danych  
% % tylko te wiersze ktore w kolumnie 2 maja wartosci > 0.5
% %%%%%%%%%%%Przyklad 2%%%%%%%wybor danych niezawierajacych NaN%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
x = [1 4 4 4 4 NaN 50 50 2 3 NaN NaN]
vectorTrueFalse = isnan(x) % wektor 0 i 1, jezeli w wektorze (np. wiersz, kolumna)jest jest NaN to przyjmuje wartosc 1
indexOutNaN = find(vectorTrueFalse == 0) % wybieram tylko te dane ktore nie zawierajaja NaN
% %%%%%%%%%%%Przyklad 2%%%%%%%wybor danych niezawierajacych duplikatow%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
X = [1 4 4 4 4 50 50 2 3]
uniqueNamesX = unique(X) % unikalne wartosci wektora X
sizeuniqueNamesX = length(uniqueNamesX) % ile ich jest

for nIndex = 1:sizeuniqueNamesX
    disp(['Unikalny Rekord numer = ',num2str(nIndex)])
    disp(['Ma wartosc = ',num2str(uniqueNamesX(nIndex))]) 
    indexOneUniqueElement = find(X == uniqueNamesX(nIndex)) % indeksy unikalnych wartosci
end

disp('%%%%%%%%%%%%%% one more time %%%%%%%%%%%%%%%%%%')

for nIndex = 1:sizeuniqueNamesX
    indexOneUniqueElement = find(X == uniqueNamesX(nIndex)); 
    % szukamy indeksow ktore posiadaja ustalona unikalna wartosc, 
    % a poniewaz moze byc ich wiecej niz 1 do wektora zapisujemy tylko 1 ktory znajdzie
    indexALLUniqueElement(nIndex)= indexOneUniqueElement(1);
end
dataNoReplicateX = X(indexALLUniqueElement) % wybieram dane niepowtarzajace sie
