clc clear %a) load m44.dat A = m44(:); %zvektorizuje maticu n = size(A,1); %urci pocet riadkov matice sigma_r = 1.482*median(abs(A-median(A))); %robustna odchylka stars = find(abs(m44-median(A))>3.5*sigma_r); %vrati vektor suradnic matice m44, v ktorych su odlahle body - hviezdy noise1 = m44; noise2 = m44; noise1(stars) = []; %odstrani prvky matice noise1, kde sa nachadzaju hviezdy, maticu sucasne zvektorizuje noise2(stars) = NaN; %prvky matice noise2, kde sa nachadzaju hviezdy zameni za hodnotu NaN (Not a Number) background = median(noise1) %hodnota pozadia noise = std(noise1) %hodnota sumu figure mesh(noise2) %b) - median matice A, moze byt vytvoreny aj formou funkcie A = sortrows(A(:)); if mod(n,2) == 0 med = 0.5*A(n/2) + 0.5*A(n/2+1); else med = A(n/2+0.5); end med %c) - modus matice A, jeden z moznych postupov vypoctu A = sortrows(A(:)); B = []; for i = 1:size(A)-1 q = 1; while A(i) == A(i+q) q = q+1; end B = [B;q]; end modus = A(find(B==max(B))) %d) new_m44 = background*ones(size(m44,1)); %vytvori jednotkovu maticu nasobenu medianom new_m44(stars) = m44(stars); %miesta s vyskytom hviezd nahradi hodnotami matice m44 figure mesh(new_m44) %e) %pozri funkcia jasnost.m %f) [gama,dgama] = jasnost(195,20,5); Delta = 4.65-gama; [jaslicky,djaslicky] = jasnost(125,65,40); [jaslicky+Delta,djaslicky] limita = Delta-2.5*log10(5*noise)