Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/math/MovingAverage.java @ 6763:34c15927f9d9
cosmetics.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Wed, 07 Aug 2013 10:48:53 +0200 |
parents | af13ceeba52a |
children | 96c41d4f4aba |
comparison
equal
deleted
inserted
replaced
6761:9479cb7c8cd5 | 6763:34c15927f9d9 |
---|---|
35 ndx++; | 35 ndx++; |
36 } | 36 } |
37 return new double [][] { xs, ys }; | 37 return new double [][] { xs, ys }; |
38 } | 38 } |
39 | 39 |
40 public static double[][] weighted(double[][] values, double radius) { | 40 /** Build moving average over values. Weight them. */ |
41 public static double[][] weighted( | |
42 double[][] values, | |
43 double radius | |
44 ) { | |
41 TreeMap<Double, Double> map = toMap(values); | 45 TreeMap<Double, Double> map = toMap(values); |
42 int N = map.size(); | 46 int N = map.size(); |
43 double [] xs = new double[N]; | 47 double [] xs = new double[N]; |
44 double [] ys = new double[N]; | 48 double [] ys = new double[N]; |
45 int ndx = 0; | 49 int ndx = 0; |
60 ndx++; | 64 ndx++; |
61 } | 65 } |
62 return new double [][] { xs, ys }; | 66 return new double [][] { xs, ys }; |
63 } | 67 } |
64 | 68 |
69 /** From [x1,x2][y1,y2] makes {x1:y1,x2:y2}. Sorted by x! */ | |
65 private static TreeMap<Double, Double> toMap(double[][] values) { | 70 private static TreeMap<Double, Double> toMap(double[][] values) { |
66 TreeMap<Double, Double> map = new TreeMap<Double, Double>(); | 71 TreeMap<Double, Double> map = new TreeMap<Double, Double>(); |
67 double [] xs = values[0]; | 72 double [] xs = values[0]; |
68 double [] ys = values[1]; | 73 double [] ys = values[1]; |
69 for (int i = 0; i < xs.length; i++) { | 74 for (int i = 0; i < xs.length; i++) { |