diff options
author | tlatorre <tlatorre@uchicago.edu> | 2018-10-17 09:33:29 -0500 |
---|---|---|
committer | tlatorre <tlatorre@uchicago.edu> | 2018-10-17 09:33:29 -0500 |
commit | 643204e807d5e78f883fc30dc7383a209e86dbc5 (patch) | |
tree | e9e09dec819cd9b7c45bf8081b0acb7a329d5611 /src/misc.c | |
parent | 09f7f3ec8bbff5102d0447ee664df3f3a404c9bc (diff) | |
download | sddm-643204e807d5e78f883fc30dc7383a209e86dbc5.tar.gz sddm-643204e807d5e78f883fc30dc7383a209e86dbc5.tar.bz2 sddm-643204e807d5e78f883fc30dc7383a209e86dbc5.zip |
fix a bug in the theta0 calculation for a path
This commit fixes a bug in the calculation of the average rms width of the
angular distribution for a path with a KL expansion. I also made a lot of
updates to the test-path program:
- plot the distribution of the KL expansion coefficients
- plot the standard deviation of the angular distribution as a function of
distance along with the prediction
- plot the simulated and reconstructed path in 3D
Diffstat (limited to 'src/misc.c')
-rw-r--r-- | src/misc.c | 27 |
1 files changed, 27 insertions, 0 deletions
@@ -397,3 +397,30 @@ double norm_cdf(double x, double mu, double sigma) * standard deviation `sigma`. */ return erfc(-(x-mu)/(sqrt(2)*sigma))/2.0; } + +double mean(const double *x, size_t n) +{ + /* Returns the mean of the array `x`. */ + size_t i; + double sum = 0.0; + + for (i = 0; i < n; i++) + sum += x[i]; + + return sum/n; +} + +double std(const double *x, size_t n) +{ + /* Returns the standard deviation of the array `x`. */ + size_t i; + double sum, mu; + + mu = mean(x,n); + + sum = 0.0; + for (i = 0; i < n; i++) + sum += pow(x[i]-mu,2); + + return sqrt(sum/n); +} |