• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C++ rnorm函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中rnorm函数的典型用法代码示例。如果您正苦于以下问题:C++ rnorm函数的具体用法?C++ rnorm怎么用?C++ rnorm使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了rnorm函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: test_spd_orderings

int test_spd_orderings(taucs_ccs_matrix* A,
		       double* x, double* y, double* b, double* z)
{
  int rc;
  char* metis[] = {"taucs.factor.ordering=metis", NULL};
  char* genmmd[] = {"taucs.factor.ordering=genmmd", NULL};
  char* colamd[] = {"taucs.factor.ordering=colamd", NULL};
  char* amd[] = {"taucs.factor.ordering=amd", NULL};
  void* opt_arg[] = { NULL };
  
  rc = taucs_factor_solve(A,NULL,1, y,b,metis,opt_arg);
  if (rc != TAUCS_SUCCESS) return rc;
  if (rnorm(A,x,y,z)) return TAUCS_ERROR;

  rc = taucs_factor_solve(A,NULL,1, y,b,genmmd,opt_arg);
  if (rc != TAUCS_SUCCESS) return rc;
  if (rnorm(A,x,y,z)) return TAUCS_ERROR;

  rc = taucs_factor_solve(A,NULL,1, y,b,amd,opt_arg);
  if (rc != TAUCS_SUCCESS) return rc;
  if (rnorm(A,x,y,z)) return TAUCS_ERROR;

  /* colamd should fail on symmetric matrices */
  rc = taucs_factor_solve(A,NULL,1, y,b,colamd,opt_arg);
  if (rc == TAUCS_SUCCESS) return TAUCS_ERROR; 

  printf("TESING SYMMETRIC ORDERINGS SUCCEDDED\n");

  return TAUCS_SUCCESS;
}
开发者ID:Wackye,项目名称:taucs,代码行数:30,代码来源:manual_test_cilk_snmf.c


示例2: test_spd_factorizations

int test_spd_factorizations(taucs_ccs_matrix* A, 
			    double* x, double* y, double* b, double* z)
{
  int rc;
  char* mf[]   = {"taucs.factor.mf=true", NULL};
  char* ll[]   = {"taucs.factor.ll=true", NULL};
  char* mfmd[] = {"taucs.factor.mf=true", "taucs.maxdepth=5", NULL};
  char* llmd[] = {"taucs.factor.ll=true", "taucs.maxdepth=5", NULL};
  char* ooc[]  = {"taucs.ooc=true", "taucs.ooc.basename=/tmp/taucs-test", NULL};
  void* opt_arg[] = { NULL };
  
  rc = taucs_factor_solve(A,NULL,1, y,b,ooc,opt_arg);
  if (rc != TAUCS_SUCCESS) return rc;
  if (rnorm(A,x,y,z)) return TAUCS_ERROR;

  rc = taucs_factor_solve(A,NULL,1, y,b,mf,opt_arg);
  if (rc != TAUCS_SUCCESS) return rc;
  if (rnorm(A,x,y,z)) return TAUCS_ERROR;

  rc = taucs_factor_solve(A,NULL,1, y,b,ll,opt_arg);
  if (rc != TAUCS_SUCCESS) return rc;
  if (rnorm(A,x,y,z)) return TAUCS_ERROR;

  /* low depth should fail  */
  rc = taucs_factor_solve(A,NULL,1, y,b,mfmd,opt_arg);
  if (rc == TAUCS_SUCCESS) return TAUCS_ERROR; 

  rc = taucs_factor_solve(A,NULL,1, y,b,llmd,opt_arg);
  if (rc == TAUCS_SUCCESS) return TAUCS_ERROR; 

  printf("TESING SPD FACTORIZATIONS SUCCEDDED\n");

  return TAUCS_SUCCESS;
}
开发者ID:Wackye,项目名称:taucs,代码行数:34,代码来源:manual_test_cilk_snmf.c


示例3: factor_model_row

void factor_model_row(double *x, unsigned int row, unsigned int n,
		      unsigned int p, unsigned int n_factors, double sigma)
{
	register unsigned int j, k, l;

	double factor = 0.0;

	l = row;
	for (j = 0; j < p; j++) {
		x[l] = 0.0;
		l += n;
	}

	for (k = 0; k < n_factors; k++) {

		factor = rnorm(0.0, sigma);
		l = row;
		for (j = 0; j < p; j++) {
			x[l] += factor * rnorm(0.0, sigma);
			l += n;
		}

	}

	l = row;

	for (j = 0; j < p; j++) {
		x[l] += rnorm(0.0, sigma);
		l += n;
	}

}
开发者ID:rbaranowski,项目名称:rbvs,代码行数:32,代码来源:factor.model.c


示例4: sim_ou2

// simple 2D Ornstein-Uhlenbeck process simulation
static void sim_ou2 (double *x1, double *x2,
		     double alpha1, double alpha2, double alpha3, double alpha4, 
		     double sigma1, double sigma2, double sigma3)
{
  double eps[2], xnew[2];

  if (!(R_FINITE(*x1))) return;
  if (!(R_FINITE(*x2))) return;
  if (!(R_FINITE(alpha1))) return;
  if (!(R_FINITE(alpha2))) return;
  if (!(R_FINITE(alpha3))) return;
  if (!(R_FINITE(alpha4))) return;
  if (!(R_FINITE(sigma1))) return;
  if (!(R_FINITE(sigma2))) return;
  if (!(R_FINITE(sigma3))) return;

  eps[0] = rnorm(0,1);
  eps[1] = rnorm(0,1);

  xnew[0] = alpha1*(*x1)+alpha3*(*x2)+sigma1*eps[0];
  xnew[1] = alpha2*(*x1)+alpha4*(*x2)+sigma2*eps[0]+sigma3*eps[1];

  *x1 = xnew[0];
  *x2 = xnew[1];
}
开发者ID:hoehleatsu,项目名称:pomp,代码行数:26,代码来源:ou2.c


示例5: ou2_rmeasure

// bivariate normal measurement error simulator
void ou2_rmeasure (double *y, double *x, double *p, 
		   int *obsindex, int *stateindex, int *parindex, int *covindex,
		   int ncovar, double *covar, 
		   double t) 
{
  double sd = fabs(TAU);
  Y1 = rnorm(x[X1],sd);
  Y2 = rnorm(x[X2],sd);
}
开发者ID:hoehleatsu,项目名称:pomp,代码行数:10,代码来源:ou2.c


示例6: rnorm

 void LocalLinearTrendModule::SimulateData(int time_dimension) {
   trend_.resize(time_dimension);
   double level = initial_level_;
   double slope = initial_slope_;
   for (int i = 0; i < time_dimension; ++i) {
     trend_[i] = level;
     level += slope + rnorm(0, level_sd_);
     slope += rnorm(0, slope_sd_);
   }
 }
开发者ID:cran,项目名称:Boom,代码行数:10,代码来源:LocalLinearTrendModule.cpp


示例7: sim_ou2

// simple 2D Ornstein-Uhlenbeck process simulation
static void sim_ou2 (double *x1, double *x2,
                     double alpha1, double alpha2, double alpha3, double alpha4,
                     double sigma1, double sigma2, double sigma3)
{
    double eps[2], xnew[2];

    eps[0] = rnorm(0,1);
    eps[1] = rnorm(0,1);

    xnew[0] = alpha1*(*x1)+alpha3*(*x2)+sigma1*eps[0];
    xnew[1] = alpha2*(*x1)+alpha4*(*x2)+sigma2*eps[0]+sigma3*eps[1];

    *x1 = xnew[0];
    *x2 = xnew[1];
}
开发者ID:kingaa,项目名称:pomp,代码行数:16,代码来源:ou2.c


示例8: leftTruncNorm

void leftTruncNorm(double *mu, double *sigma2, double *x){
 int check1, check2;
 double alphaStar, u, muMinus, z;
 muMinus = -*mu/sqrt(*sigma2);
 if (muMinus <= 0.0){
  check1 = FALSE;
  while(check1 == FALSE){
   GetRNGstate();
   z = rnorm(0.0,1.0);
   PutRNGstate();
   check1 = (z > muMinus);
  }
 } else {
  alphaStar = 0.5 * (muMinus + sqrt(muMinus * muMinus + 4.0));
  check2 = FALSE;
  while(check2 == FALSE){
   GetRNGstate();
   z = muMinus + rexp(1/alphaStar);
   PutRNGstate();
   GetRNGstate();
   u = runif(0.0,1.0);
   PutRNGstate();
   check2 = (u <= exp(-0.5*(z-alphaStar) * (z-alphaStar)));
  }
 }
 *x = *mu + z * sqrt(*sigma2);
}
开发者ID:cran,项目名称:mvst,代码行数:27,代码来源:Utils.c


示例9: number_of_lags

 Vec ArModel::simulate(int n, const Vec &y0) const {
   if(y0.size() != number_of_lags()){
     ostringstream err;
     err << "Error in ArModel::simulate." << endl
         << "Initial state value y0 was size " << y0.size()
         << ", but the model has " << number_of_lags() << " lags."
         << endl;
     report_error(err.str());
   }
   const Vec &phi(this->phi());
   std::deque<double> lags(y0.rbegin(), y0.rend());
   Vec ans;
   ans.reserve(n);
   for(int i = 0; i < n; ++i) {
     double mu = 0;
     for(int lag = 0; lag < number_of_lags(); ++lag) {
       mu += phi[lag] * lags[lag];
     }
     double y = rnorm(mu, sigma());
     lags.push_front(y);
     lags.pop_back();
     ans.push_back(y);
   }
   return ans;
 }
开发者ID:comenerv,项目名称:Boom,代码行数:25,代码来源:ArModel.cpp


示例10: xLz

static void xLz(float c,float x,float y,float d){
	if(T==MT)
		glTriangle(x,y,x+cos(d+M_PI/64)*c,y+sin(d+M_PI/64)*c,x+cos(d-M_PI/64)*c,y+sin(d-M_PI/64)*c);
	c*=c;
	for(int i=0;i<2;i++)
		if(dst2(x,y,Px[i],Py[i])<c&&fabsf(rnorm(d-dir(x,y,Px[i],Py[i])))<M_PI/64)Ph[i]--;
}
开发者ID:serprex,项目名称:DoubleFire,代码行数:7,代码来源:foe.c


示例11: mutate_constants_normal

SEXP mutate_constants_normal(SEXP sexp, double p, double mu, double sigma) {
  SEXP c;
  switch (TYPEOF(sexp)) { // switch for speed
  case NILSXP:
    return sexp; // do nothing with nils
  case REALSXP:
    if (unif_rand() < p) { // mutate constant with probability p
      PROTECT(c = allocVector(REALSXP, 1));
      REAL(c)[0] = REAL(sexp)[0] + rnorm(mu, sigma);
      UNPROTECT(1);
      return c;
    } else {
      return sexp;
    }
  case LANGSXP: {
    int function_arity = 0;
    SEXP tail_e, e;
    PROTECT(tail_e = R_NilValue);
    for (SEXP iterator = CDR(sexp); !isNull(iterator); iterator = CDR(iterator)) { // recurse on actual parameters
      function_arity++; // determine arity on the fly
      SEXP mutated_parameter;
      PROTECT(mutated_parameter = mutate_constants_normal(CAR(iterator), p, mu, sigma));
      PROTECT(tail_e = CONS(mutated_parameter, tail_e));
    }
    PROTECT(e = LCONS(CAR(sexp), tail_e));
    UNPROTECT(2 * function_arity + 2);
    return e;
  }
  case LISTSXP:
    error("mutate_constants_normal: unexpected LISTSXP");
  default: // base case
    return sexp; // do nothing
  }
}
开发者ID:cran,项目名称:rgp,代码行数:34,代码来源:mutation.c


示例12: test_spd_factorsolve

int test_spd_factorsolve(taucs_ccs_matrix* A, 
			 double* x, double* y, double* b, double* z)
{
  int rc;
  void* F = NULL;
  char* factor[] = {"taucs.solve=false", NULL};
  char* solve [] = {"taucs.factor=false", NULL};
  void* opt_arg[] = { NULL };
  
  /* solve without a factorization should fail */
  rc = taucs_factor_solve(A,NULL,1, y,b,solve,opt_arg);
  if (rc == TAUCS_SUCCESS) return TAUCS_ERROR;

  /* solve without a factorization should fail */
  rc = taucs_factor_solve(A,&F,1, y,b,solve,opt_arg);
  if (rc == TAUCS_SUCCESS) return TAUCS_ERROR;

  rc = taucs_factor_solve(A,&F,1, y,b,factor,opt_arg);
  if (rc != TAUCS_SUCCESS) return rc;

  rc = taucs_factor_solve(A,&F,1, y,b,solve,opt_arg);
  if (rc != TAUCS_SUCCESS) return rc;
  if (rnorm(A,x,y,z)) return TAUCS_ERROR;

  printf("TESING SPD FACTORSOLVE SUCCEDDED\n");

  return TAUCS_SUCCESS;
}
开发者ID:Wackye,项目名称:taucs,代码行数:28,代码来源:manual_test_cilk_snmf.c


示例13: xdim

 Vec MVTR::simulate_fake_x()const{
   uint p = xdim();
   Vec x(p);
   x[0] = 1.0;
   for(uint i=0; i<p; ++i) x[i] = rnorm();
   return x;
 }
开发者ID:Hkey1,项目名称:boom,代码行数:7,代码来源:MvtRegModel.cpp


示例14: sim_beta

/**
 * Simulate beta using the naive Gibbs update
 *
 * @param da an SEXP struct
 *
 */
static void sim_beta(SEXP da){
  int *dm = DIMS_SLOT(da), *k = K_SLOT(da);
  int nB = dm[nB_POS];
  double *beta = FIXEF_SLOT(da), *mh_sd = MHSD_SLOT(da), *l = CLLIK_SLOT(da), 
    *pm = PBM_SLOT(da), *pv = PBV_SLOT(da), *acc = ACC_SLOT(da);
  double xo, xn, l1, l2, A;

  /* initialize llik_mu*/
  *l = llik_mu(da);
  for (int j = 0; j < nB; j++){
    *k = j;
    xo = beta[j];
    xn = rnorm(xo, mh_sd[j]);
    l1 = *l;
    l2 = post_betak(xn, da);
    A = exp(l2 - l1 + 0.5 * (xo - pm[j]) * (xo - pm[j]) / pv[j]);
    /* determine whether to accept the sample */
    if (A < 1 && runif(0, 1) >= A){ /* not accepted */
      *l = l1;       /* revert the likelihood (this is updated in post_betak) */
    }
    else {
      beta[j] = xn;
      acc[j]++;    
    }
  }                  /* update the mean using the new beta */                    
  if (dm[nU_POS]) cpglmm_fitted(beta, 1, da);
  else cpglm_fitted(beta, da);  
}
开发者ID:Mengchutsai,项目名称:cplm,代码行数:34,代码来源:bcplm.c


示例15: rnorm

double CGaussianMDP::sample_phi0
(
   int n,
   double *ysamp,
   double *sigmasamp,
   double s2,
   double m
)
{
   int i;
   double s=0.0;
   double ys=0.0;
   double var;
   double mn;
   
   for(i=0; i<n; i++)
   {
      s += 1.0/sigmasamp[i];
      ys += ysamp[i]/sigmasamp[i];
   }
   
   var = 1.0/(1.0/s2 + s);
   mn = (m/s2 + ys)*var;
   return rnorm(mn,sqrt(var));
}
开发者ID:gregridgeway,项目名称:hhsim,代码行数:25,代码来源:gaussianmdp.cpp


示例16: sim_u

static void sim_u(SEXP da){
  int *dm = DIMS_SLOT(da), *k = K_SLOT(da);
  int nB = dm[nB_POS], nU = dm[nU_POS];
  double *u = U_SLOT(da), *l = CLLIK_SLOT(da), 
    *mh_sd = MHSD_SLOT(da) + nB + 2, /* shift the proposal variance pointer */
    *acc = ACC_SLOT(da) + nB + 2;    /* shift the acc pointer */
  double xo, xn, l1, l2, A;

  /* initialize llik_mu*/
  *l = llik_mu(da);
  for (int j = 0; j < nU; j++){
    *k = j ;
    xo = u[j];
    xn = rnorm(xo, mh_sd[j]);
    l1 = *l;
    l2 = post_uk(xn, da);
    A = exp(l2 - (l1 + prior_uk(xo, da)));  
    /* determine whether to accept the sample */
    if (A < 1 && runif(0, 1) >= A){ 
      *l = l1;  /* revert llik_mu (this is updated in post_uk) */
    }
    else{
      u[j] = xn;
      acc[j]++;    
    }
  }
  cpglmm_fitted(u, 0, da) ;  /* update the mean using the new u */
}
开发者ID:Mengchutsai,项目名称:cplm,代码行数:28,代码来源:bcplm.c


示例17: gausssample

//Erzeugt Normalverteilten Zufallsvektor der Laenge noa
void gausssample(double* temp, int* noa) {
  int i;
  for (i=0; i < *noa; i++) {
    temp[i] = rnorm(0.0, 1.0);
  }
  return;
}
开发者ID:bjw34032,项目名称:dcemriS4,代码行数:8,代码来源:zufall.c


示例18: rlnorm

double rlnorm(double meanlog, double sdlog)
{
    if(ISNAN(meanlog) || !R_FINITE(sdlog) || sdlog < 0.)
	ML_ERR_return_NAN;

    return exp(rnorm(meanlog, sdlog));
}
开发者ID:ChrisRackauckas,项目名称:Rmath-julia,代码行数:7,代码来源:rlnorm.c


示例19: ans

 Vector IndependentMvnModel::sim()const{
   Vector ans(mu());
   for(int i = 0; i < ans.size(); ++i){
     ans += rnorm(0, sigma(i));
   }
   return ans;
 }
开发者ID:comenerv,项目名称:Boom,代码行数:7,代码来源:IndependentMvnModel.cpp


示例20: gplot3d_layout_kamadakawai_R

void gplot3d_layout_kamadakawai_R(double *pn, int *pniter, double *elen, double *pinitemp, double *pcoolexp, double *pkkconst, double *psigma, double *x, double *y, double *z)
{
  double initemp,coolexp,sigma,temp,cx,cy,cz;
  double dpot,odis,ndis,osqd,nsqd,kkconst;
  int niter;
  long int n,i,j,k;
  
  /*Define various things*/
  n=(long int)*pn;
  niter=*pniter;
  initemp=*pinitemp;
  coolexp=*pcoolexp;
  kkconst=*pkkconst;
  sigma=*psigma;
  GetRNGstate();   /*Get the RNG state*/
  
  /*Perform the annealing loop*/
  temp=initemp;
  for(i=0;i<niter;i++){
    /*Update each vertex*/
    for(j=0;j<n;j++){
      /*Draw the candidate via a gaussian perturbation*/
      cx=rnorm(x[j],sigma*temp/initemp);
      cy=rnorm(y[j],sigma*temp/initemp);
      cz=rnorm(z[j],sigma*temp/initemp);
      /*Calculate the potential difference for the new position*/
      dpot=0.0;
      for(k=0;k<n;k++)  /*Potential differences for pairwise effects*/
        if(j!=k){
          odis=sqrt((x[j]-x[k])*(x[j]-x[k])+(y[j]-y[k])*(y[j]-y[k]) +(z[j]-z[k])*(z[j]-z[k]));
          ndis=sqrt((cx-x[k])*(cx-x[k])+(cy-y[k])*(cy-y[k]) +(cz-z[k])*(cz-z[k]));
          osqd=(odis-elen[j+k*n])*(odis-elen[j+k*n]);
          nsqd=(ndis-elen[j+k*n])*(ndis-elen[j+k*n]);
          dpot+=kkconst*(osqd-nsqd)/(elen[j+k*n]*elen[j+k*n]);
        }
      /*Make a keep/reject decision*/
      if(log(runif(0.0,1.0))<dpot/temp){
        x[j]=cx;
        y[j]=cy;
        z[j]=cz;
      }
    }
    /*Cool the system*/
    temp*=coolexp;
  }
  PutRNGstate();   /*Update the RNG*/
}
开发者ID:briatte,项目名称:sna,代码行数:47,代码来源:layout.c



注:本文中的rnorm函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ roadmap_config_get函数代码示例发布时间:2022-05-30
下一篇:
C++ rng_int函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap