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


C++ model::Get_var_block方法代码示例

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


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

示例1: Mstep

void parameters::Mstep(datafile dat, model mod){
	const MatrixXi & omega=mod.Get_model(),mat=dat.Get_mat_datafile();
	const VectorXd & eff=dat.Get_eff_datafile();
	for (int k=0;k<m_proba.cols();k++){
		m_propor(k)= (eff.array()*(m_proba.col(k)).array()/m_proba.rowwise().sum().array()).sum() / eff.sum();
		for (int b=0;b<mat.cols();b++){
			if ((omega.row(k).array()==b).any()){
				const VectorXi & who=mod.Get_var_block(k,b);
				m_param[k][b].Mstep(who,mat,m_proba_block[k].col(b),m_proba.col(k).array()/m_proba.rowwise().sum().array(),eff);
			}
		}
	}
}
开发者ID:rforge,项目名称:clustericat,代码行数:13,代码来源:parameters.cpp

示例2: Probapost

void parameters::Probapost(model mod, const MatrixXi & mat){
	const MatrixXi & omega=mod.Get_model();
	m_proba=MatrixXd::Ones(mat.rows(),omega.rows());
	for (int k = 0; k < omega.rows(); ++k) {
		m_proba_block[k]=m_proba_block[k].Ones(mat.rows(),(omega.rowwise().maxCoeff()(k)+1));
		for (int b = 0; b < (omega.rowwise().maxCoeff()(k)+1); ++b){

			if ((omega.row(k).array()==b).any()){
				const VectorXi & who=mod.Get_var_block(k,b);
				if (who.rows()>1){
					m_proba_block[k].col(b)=m_param[k][b].proba_indpt(who,mat)+m_param[k][b].proba_dpt(who,mat);
				}else{
					m_proba_block[k].col(b)=m_param[k][b].proba_indpt(who,mat);
				}
			}
		}
		m_proba.col(k)=m_propor(k)* (m_proba_block[k].rowwise().prod()).array();
	}
}
开发者ID:rforge,项目名称:clustericat,代码行数:19,代码来源:parameters.cpp

示例3: Compte_nbparam

void parameters::Compte_nbparam(datafile dat,model mod){
	const MatrixXi & omega=mod.Get_model();
	int g=omega.rows();
	m_nbparam=g-1;
	for (int k=0;k<g;k++){
		for (int b=0;b<(omega.rowwise().maxCoeff()(k)+1) ;b++){
			if ((omega.row(k).array()==b).any()){
				const VectorXi & who=mod.Get_var_block(k,b);
				const VectorXi modalite=dat.Get_modalite(who);
				if (who.rows()==1){
					m_nbparam+=modalite(0)-1;
				}else{
					for (int h=0;h<modalite.rows();h++){
						m_nbparam+=modalite(h)-1;
					}
					m_nbparam+=modalite(0);
					if ((modalite(1)==2)&&(who.rows()==2)){m_nbparam--;}
				}
			}
		}
	}
}
开发者ID:rforge,项目名称:clustericat,代码行数:22,代码来源:parameters.cpp


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