Mercurial > hg > medcouple
annotate slowmedcouple.m @ 74:305b7361a5bd default tip @
showalgo: save a snapshot instead of waiting for keyboard input
author | Jordi Gutiérrez Hermoso <jordigh@octave.org> |
---|---|
date | Sun, 29 May 2016 19:05:01 -0400 |
parents | 2de6dcb8e9c2 |
children |
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 |