当前位置: 首页>>代码示例>>C++>>正文


C++ mat::diag方法代码示例

本文整理汇总了C++中arma::mat::diag方法的典型用法代码示例。如果您正苦于以下问题:C++ mat::diag方法的具体用法?C++ mat::diag怎么用?C++ mat::diag使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在arma::mat的用法示例。


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

示例1:

arma::mat uniformization_prob2(double t, arma::mat rate){
	
	arma::colvec the_diag=-1*rate.diag();
	double mu=the_diag.max();
	arma::mat A=arma::eye<arma::mat>(rate.n_cols,rate.n_cols)+rate/mu;
	
	int s=0;
	arma::mat out_sum=arma::zeros<arma::mat>(rate.n_cols,rate.n_cols);
	double error=(1-exp(-mu*t));
	arma::mat A_s=arma::eye<arma::mat>(rate.n_cols,rate.n_cols);
	
	while(error>1e-9){
		double mu_t=mu*t;
		out_sum=out_sum+exp(-mu*t)*A_s*pow(mu_t,s)/(Rcpp::internal::factorial(s)); 
		A_s=A_s*A;
		s++;
		error=error-exp(-mu*t)*pow(mu*t,s)/(Rcpp::internal::factorial(s));
	}
	return(out_sum);
}
开发者ID:janelange,项目名称:cthmm,代码行数:20,代码来源:mat_exp_eigen.cpp

示例2: ApplyConstraint

 //! Force a covariance matrix to be diagonal.
 static void ApplyConstraint(arma::mat& covariance)
 {
   // Save the diagonal only.
   arma::vec diagonal = covariance.diag();
   covariance = arma::diagmat(diagonal);
 }
开发者ID:0x0all,项目名称:mlpack,代码行数:7,代码来源:diagonal_constraint.hpp

示例3: cholesky_determinant

 double cholesky_determinant(const arma::mat& R) {
   return arma::prod(square(R.diag()));
 }
开发者ID:jhjourdan,项目名称:arma-log-likelihood,代码行数:3,代码来源:arma.math.hpp


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