本文整理汇总了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);
}
}
}
}
示例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();
}
}
示例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--;}
}
}
}
}
}