diff 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
line wrap: on
line diff
--- a/bayesianArraySrc/DynamicVector.cpp	Tue Jan 31 17:35:30 2012 +0000
+++ b/bayesianArraySrc/DynamicVector.cpp	Tue Jan 31 21:34:19 2012 +0000
@@ -157,6 +157,26 @@
 	//now delete tmp array
 }
 
+
+
+void DynamicVector::addGaussianShapeFromRealTime(const double& actualTime, const double& StdDev, double factor){
+	
+	double mean = getRealTermsAsIndex(actualTime);
+	printf("Gaussian realtime %f at index %f\n", actualTime, mean);
+	int i;
+	double std_dev_factor = (2*StdDev*StdDev);
+	factor *= (1/(StdDev*sqrt(2*PI)));
+	int maxVal = min((int) array.size(), (int)(mean + 4.8*StdDev));
+	int minVal = max(0, (int)(mean - 4.8*StdDev));
+	
+	for (i=minVal;i < maxVal;i++){
+		array[i] += factor*exp(-1*(i-mean)*(i-mean)/(std_dev_factor));
+	}
+	
+	//	addGaussianShapeByLookupTable(mean, StdDev, factor);
+}
+
+
 void DynamicVector::addGaussianShape(const double& mean, const double& StdDev, double factor){
 	
 	int i;