Mercurial > hg > medcouple
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 |
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 |