comparison bayesianArraySrc/DynamicVector.cpp @ 2:179c09199b3c

bayesian vector now adding gaussians for kick onsets
author Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk>
date Tue, 31 Jan 2012 21:34:19 +0000
parents c4f9e49226eb
children 5e188c0035b6
comparison
equal deleted inserted replaced
1:852173ca8365 2:179c09199b3c
154 array[tmpIndex] = tmpArray[i]; 154 array[tmpIndex] = tmpArray[i];
155 } 155 }
156 tmpArray.clear(); 156 tmpArray.clear();
157 //now delete tmp array 157 //now delete tmp array
158 } 158 }
159
160
161
162 void DynamicVector::addGaussianShapeFromRealTime(const double& actualTime, const double& StdDev, double factor){
163
164 double mean = getRealTermsAsIndex(actualTime);
165 printf("Gaussian realtime %f at index %f\n", actualTime, mean);
166 int i;
167 double std_dev_factor = (2*StdDev*StdDev);
168 factor *= (1/(StdDev*sqrt(2*PI)));
169 int maxVal = min((int) array.size(), (int)(mean + 4.8*StdDev));
170 int minVal = max(0, (int)(mean - 4.8*StdDev));
171
172 for (i=minVal;i < maxVal;i++){
173 array[i] += factor*exp(-1*(i-mean)*(i-mean)/(std_dev_factor));
174 }
175
176 // addGaussianShapeByLookupTable(mean, StdDev, factor);
177 }
178
159 179
160 void DynamicVector::addGaussianShape(const double& mean, const double& StdDev, double factor){ 180 void DynamicVector::addGaussianShape(const double& mean, const double& StdDev, double factor){
161 181
162 int i; 182 int i;
163 double std_dev_factor = (2*StdDev*StdDev); 183 double std_dev_factor = (2*StdDev*StdDev);