Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
29
Task/Averages-Mode/Octave/averages-mode-1.octave
Normal file
29
Task/Averages-Mode/Octave/averages-mode-1.octave
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
function m = mode2(v)
|
||||
sv = sort(v);
|
||||
% build two vectors, vals and c, so that
|
||||
% c(i) holds how many times vals(i) appears
|
||||
i = 1; c = []; vals = [];
|
||||
while (i <= numel(v) )
|
||||
tc = sum(sv==sv(i)); % it would be faster to count
|
||||
% them "by hand", since sv is sorted...
|
||||
c = [c, tc];
|
||||
vals = [vals, sv(i)];
|
||||
i += tc;
|
||||
endwhile
|
||||
% stack vals and c building a 2-rows matrix x
|
||||
x = cat(1,vals,c);
|
||||
% sort the second row (frequencies) into t (most frequent
|
||||
% first) and take the "original indices" i ...
|
||||
[t, i] = sort(x(2,:), "descend");
|
||||
% ... so that we can use them to sort columns according
|
||||
% to frequencies
|
||||
nv = x(1,i);
|
||||
% at last, collect into m (the result) all the values
|
||||
% having the same bigger frequency
|
||||
r = t(1); i = 1;
|
||||
m = [];
|
||||
while ( t(i) == r )
|
||||
m = [m, nv(i)];
|
||||
i++;
|
||||
endwhile
|
||||
endfunction
|
||||
7
Task/Averages-Mode/Octave/averages-mode-2.octave
Normal file
7
Task/Averages-Mode/Octave/averages-mode-2.octave
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
a = [1, 3, 6, 6, 6, 6, 7, 7, 12, 12, 17];
|
||||
mode2(a)
|
||||
mode(a)
|
||||
|
||||
a = [1, 1, 2, 4, 4];
|
||||
mode2(a) % returns 1 and 4
|
||||
mode(a) % returns 1 only
|
||||
Loading…
Add table
Add a link
Reference in a new issue