annotate slowmedcouple.m @ 41:2de6dcb8e9c2

slowmedcouple: turn into a function
author Jordi Gutiérrez Hermoso <jordigh@octave.org>
date Mon, 09 May 2016 19:15:49 -0400
parents d9230d702fbf
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
41
2de6dcb8e9c2 slowmedcouple: turn into a function
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 19
diff changeset
1 function mc = slowmedcouple(z)
2de6dcb8e9c2 slowmedcouple: turn into a function
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 19
diff changeset
2 n = length(z);
2de6dcb8e9c2 slowmedcouple: turn into a function
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 19
diff changeset
3 n2 = ceil(n/2);
2de6dcb8e9c2 slowmedcouple: turn into a function
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 19
diff changeset
4 z = sort(z, "descend");
2de6dcb8e9c2 slowmedcouple: turn into a function
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 19
diff changeset
5 zmed = median(z);
2de6dcb8e9c2 slowmedcouple: turn into a function
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 19
diff changeset
6 z -= zmed;
2de6dcb8e9c2 slowmedcouple: turn into a function
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 19
diff changeset
7 zplus = z(z >= 0);
2de6dcb8e9c2 slowmedcouple: turn into a function
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 19
diff changeset
8 zminus = z(z <= 0)';
2de6dcb8e9c2 slowmedcouple: turn into a function
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 19
diff changeset
9 zz = (zplus + zminus)./(zplus - zminus);
2de6dcb8e9c2 slowmedcouple: turn into a function
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 19
diff changeset
10 zz(isnan(zz)) = 0;
2de6dcb8e9c2 slowmedcouple: turn into a function
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 19
diff changeset
11 zzsort = sort(zz(:), "descend");
2de6dcb8e9c2 slowmedcouple: turn into a function
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 19
diff changeset
12 medc_idx = ceil(n2^2/2);
2de6dcb8e9c2 slowmedcouple: turn into a function
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 19
diff changeset
13 mc = zzsort(medc_idx);
2de6dcb8e9c2 slowmedcouple: turn into a function
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 19
diff changeset
14 printf("%.16g\n", mc);
2de6dcb8e9c2 slowmedcouple: turn into a function
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 19
diff changeset
15 endfunction