annotate slowmedcouple.m @ 35:6c264f2053bc

jmedcouple: use std::tie and std::move for tuple unpacking
author Jordi Gutiérrez Hermoso <jordigh@octave.org>
date Mon, 19 Jan 2015 10:20:22 -0500
parents d9230d702fbf
children 2de6dcb8e9c2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19
d9230d702fbf Add rand53 data
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18
diff changeset
1 z = load("rand53");
15
3958c6e77442 Add slow Octave medcouple implementation
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
2 n = length(z);
3958c6e77442 Add slow Octave medcouple implementation
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
3 n2 = ceil(n/2);
3958c6e77442 Add slow Octave medcouple implementation
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
4 z = sort(z, "descend");
3958c6e77442 Add slow Octave medcouple implementation
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
5 zmed = median(z);
3958c6e77442 Add slow Octave medcouple implementation
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
6 z -= zmed;
3958c6e77442 Add slow Octave medcouple implementation
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
7 zplus = z(z >= 0);
3958c6e77442 Add slow Octave medcouple implementation
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
8 zminus = z(z <= 0)';
3958c6e77442 Add slow Octave medcouple implementation
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
9 zz = (zplus + zminus)./(zplus - zminus);
3958c6e77442 Add slow Octave medcouple implementation
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
10 zz(isnan(zz)) = 0;
18
6339e1a06aa9 slowmedcouple: sort in reverse
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 15
diff changeset
11 zzsort = sort(zz(:), "descend");
15
3958c6e77442 Add slow Octave medcouple implementation
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
12 medc_idx = ceil(n2^2/2);
3958c6e77442 Add slow Octave medcouple implementation
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
13 mc = zzsort(medc_idx);
3958c6e77442 Add slow Octave medcouple implementation
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
14 printf("%.16g\n", mc);