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