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

📄 cov_into_design.m

📁 The BNL toolbox is a set of Matlab functions for defining and estimating the parameters of a Bayesi
💻 M
字号:
function design=cov_into_design(covariates_matrix,cov_nodes,lin_pred_struct_cov,design,evidence_nodes,partial_evidence_nodes,terminal_merged_nodes,hid_nodes,gausskwadnodes,equiv_class)

N=size(covariates_matrix,1);
for i=1:size(cov_nodes,1)
    eclass=cov_nodes{i,1};
    s=size(design{eclass});
    node_nr=find(equiv_class==eclass,1);
    if mysubset(node_nr, evidence_nodes.nodenrs) 
        error('evidence nodes not yet incorporated, treat them as partial evidence nodes');
    elseif mysubset(node_nr, partial_evidence_nodes.nodenrs) 
        termnr=find(partial_evidence_nodes.nodenrs==node_nr);
        ns=partial_evidence_nodes.nodesizes(termnr)-1;
    elseif mysubset(node_nr, hid_nodes.nodenrs) 
        termnr=find(hid_nodes.nodenrs==node_nr);
        ns= hid_nodes.nodesizes(termnr)-1;
    elseif mysubset(node_nr, gausskwadnodes.nodenrs) 
        termnr=find(gausskwadnodes.nodenrs==node_nr);
        ns = gausskwadnodes.nodesizes(termnr)-1;
    else
        termnr=find(terminal_merged_nodes.nodenrs==node_nr);
        ns=terminal_merged_nodes.respcat{termnr(1)}-1;
    end
    data=covariates_matrix(:,cov_nodes{i,2});
    des=repmat(design{eclass},[1 1 N]);
    if(lin_pred_struct_cov==0)
        dr=repmat(data,[1 1 s(1)]);
        dr=permute(dr,[ 3 2 1]);
     elseif (lin_pred_struct_cov==1)
        dr=repmat(data,[1 ns s(1) ]);
        dr=permute(dr,[ 3 2 1]);
        dr=dr.*repmat(kron(eye(ns),ones(1,size(data,2))),[s(1)/ns 1 N]);
    else
        dr=repmat(data,[1 s(1) s(1)]);
        dr=permute(dr,[ 3 2 1]);
        dr=dr.*repmat(kron(eye(s(1)),ones(1,size(data,2))),[1 1 N]);
    end
    design{eclass}=cat(2,des,dr);
end

⌨️ 快捷键说明

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