Mercurial > hg > medcouple
diff 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 |
line wrap: on
line diff
--- a/slowmedcouple.m +++ b/slowmedcouple.m @@ -1,14 +1,15 @@ -z = load("rand53"); -n = length(z); -n2 = ceil(n/2); -z = sort(z, "descend"); -zmed = median(z); -z -= zmed; -zplus = z(z >= 0); -zminus = z(z <= 0)'; -zz = (zplus + zminus)./(zplus - zminus); -zz(isnan(zz)) = 0; -zzsort = sort(zz(:), "descend"); -medc_idx = ceil(n2^2/2); -mc = zzsort(medc_idx); -printf("%.16g\n", mc); +function mc = slowmedcouple(z) + n = length(z); + n2 = ceil(n/2); + z = sort(z, "descend"); + zmed = median(z); + z -= zmed; + zplus = z(z >= 0); + zminus = z(z <= 0)'; + zz = (zplus + zminus)./(zplus - zminus); + zz(isnan(zz)) = 0; + zzsort = sort(zz(:), "descend"); + medc_idx = ceil(n2^2/2); + mc = zzsort(medc_idx); + printf("%.16g\n", mc); +endfunction