⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 utility.c

📁 particle filter算法代码
💻 C
字号:
#include <math.h>#include <stdlib.h>/* The following are some utility routines. *//* This is the worst random number routine in the known universe, but   I use it for portability. Feel free to replace it. */double uniform_random(void){  return (double) rand() / (double) RAND_MAX;}/* This Gaussian routine is stolen from Numerical Recipes and is their   copyright. */double gaussian_random(void){  static int next_gaussian = 0;  static double saved_gaussian_value;  double fac, rsq, v1, v2;  if (next_gaussian == 0) {    do {      v1 = 2.0*uniform_random()-1.0;      v2 = 2.0*uniform_random()-1.0;      rsq = v1*v1+v2*v2;    } while (rsq >= 1.0 || rsq == 0.0);    fac = sqrt(-2.0*log(rsq)/rsq);    saved_gaussian_value=v1*fac;    next_gaussian=1;    return v2*fac;  } else {    next_gaussian=0;    return saved_gaussian_value;  }}double evaluate_gaussian(double val, double sigma){  /* This private definition is used for portability */  static const double Condense_PI = 3.14159265358979323846;  return 1.0/(sqrt(2.0*Condense_PI) * sigma) *    exp(-0.5 * (val*val / (sigma*sigma)));}/* End of utility routines */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -