cpdag_to_dag.m.svn-base
来自「bayesian network structrue learning mat」· SVN-BASE 代码 · 共 55 行
SVN-BASE
55 行
function dag = cpdag_to_dag(cpdags)% dags = cpdag_to_dag(cpdags)%% CPDAG_TO_DAG produce a N*N matrix of a dag which instantiate cpdag.% (also works with a cell array of cpdags, returning a cell array of dags)% make sur that your entry is a completed PDAG% this function can't be use instead of PDAG_TO_DAG%% olivier.francois@insa-rouen.fr, philippe.leray@insa-rouen.fr% 7 may 2003if ~iscell(cpdags) cpdag=cell(1,1); cpdag{1}=cpdags;else cpdag=cpdags;endfor da=1:length(cpdag) N=length(cpdag{da}); dag=cpdag{da}; dag2=dag; unprocessed = []; for i=1:(N-1) for j=(i+1):N if dag2(i,j)==1 & dag2(j,i)==1 % if isempty(find(unprocessed==i)) if ~myismember(i,unprocessed) unprocessed = [unprocessed;i]; end %if isempty(find(unprocessed==j)) if ~myismember(i,unprocessed) unprocessed = [unprocessed;j]; end end end end for i=1:length(unprocessed) for j=1:N if dag(unprocessed(i),j)==1 & dag(j,unprocessed(i))==1 dag(j,unprocessed(i))=0; end end end dags{da}=dag;endif ~iscell(cpdags) dag=dags{1};else dag=dags;end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?