comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQ.java @ 744:b385577bcaca

WQ: Added a method to guess is increasing. flys-artifacts/trunk@2246 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Mon, 27 Jun 2011 09:17:41 +0000
parents cbaa3ca86f2f
children 30be4b71c36c
comparison
equal deleted inserted replaced
743:e95e6df97e55 744:b385577bcaca
1 package de.intevation.flys.artifacts.model; 1 package de.intevation.flys.artifacts.model;
2 2
3 import gnu.trove.TDoubleArrayList; 3 import gnu.trove.TDoubleArrayList;
4
5 import java.util.Random;
4 6
5 public class WQ 7 public class WQ
6 extends NamedObject 8 extends NamedObject
7 { 9 {
8 protected TDoubleArrayList w; 10 protected TDoubleArrayList w;
101 } 103 }
102 104
103 public void removeNaNs() { 105 public void removeNaNs() {
104 removeNaNs(new TDoubleArrayList [] { w, q }); 106 removeNaNs(new TDoubleArrayList [] { w, q });
105 } 107 }
108
109 public boolean guessWaterIncreasing() {
110 return guessWaterIncreasing(0.05f);
111 }
112
113 public boolean guessWaterIncreasing(float factor) {
114
115 int N = w.size();
116 int samples = (int)(factor*N) + 1;
117
118 int up = 0;
119
120 Random rand = new Random();
121
122 for (int i = 0; i < samples; ++i) {
123 int pos = rand.nextInt(N-1) + 1;
124 double w1 = w.getQuick(pos-1);
125 double w2 = w.getQuick(pos);
126 if (w2 > w1) ++up;
127 }
128
129 return up > samples/2;
130 }
131
106 } 132 }
107 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : 133 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org