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

📄 new_model.m.svn-base

📁 Probabilistic graphical models in matlab.
💻 SVN-BASE
字号:
function [result] = new_model(model_type, argument, first_arg, second_arg )if nargin < 3    link_mat = argument;    argument = 'none';endspecial = false;result.structure = false;result.number_potential_tables = 0;result.all_potentials = false;result.all_variables = false;result.all_internal_potentials = false;result.monitor = false;result.timer = false;result.number_of_runs = 1;result.structure_code = 'none';result.observations{1} = 0;result.internal_potentials_bool = false;result.monitoring_interval = 1.0;if (strcmp (model_type, 'pairwise' ) )    result.type = 'pairwise-discrete';    if (strcmp (argument, 'mrf_all' ) )        special = true;        result.structure = true;        result.number_vertices = first_arg * second_arg;        result.structure_code = strcat( '<structure> (square-lattice) ( ', strcat( num2str(first_arg), '  ') );        result.structure_code = [ result.structure_code ' ' num2str(second_arg) ')' ];        result.link_matrix = zeros(result.number_vertices, result.number_vertices);    end    if (strcmp (argument, 'mrf' ) )        special = true;        %result.structure = true;        result.number_vertices = first_arg * second_arg;        %result.structure_code = strcat( '<structure> (square-lattice) ( ', strcat( num2str(first_arg), '  ') );        %result.structure_code = [ result.structure_code ' ' num2str(second_arg) ')' ];        %result.structure_code = strcat( result.structure_code, strcat( num2str(second_arg), ')') );        result.link_matrix = zeros(result.number_vertices, result.number_vertices);        for i=1:result.number_vertices            if ( mod(i,first_arg) ~= 0)                result.link_matrix(i,i+1) = 1;            end            if (i <= first_arg*(second_arg-1) )                result.link_matrix(i,i+first_arg) = 1;            end        end    end    if (strcmp (argument, 'fully_connected' ) )        m = first_arg;        special = true;        result.number_vertices = m;        result.link_matrix = zeros(m,m);        for i=1:m            for j=1:m                if (j > i)                    result.link_matrix(i,j) = 1;                end            end        end    end    if (strcmp (argument, 'random_all' ) )        result.structure = true;        special = true;        result.number_vertices = first_arg;        result.link_matrix = zeros(result.number_vertices, result.number_vertices);        model.structure_code = strcat( '<structure> (random) ( ', strcat( num2str(second_arg), ' )') );    end    if (strcmp (argument, 'random' ) )        special = true;        result.number_vertices = first_arg;        result.link_matrix = zeros(result.number_vertices, result.number_vertices);        %model.structure_code = strcat( '<structure> (random) ( ', strcat(        %num2str(second_arg), ' )') );        for i=1:result.number_vertices            for j=i+1:result.number_vertices                if (rand < second_arg)                    result.link_matrix(i,j) = 1;                end            end        end    end    if (special == false)        % Normal operation (we are given an adjacency matrix)        [m,n] = size(link_mat);        for i=1:m            for j=1:n                if link_mat (i,j) == 1                    if link_mat (j, i) == 1                        error('Wrong link matrix given');                    end                end            end        end        result.number_vertices = m;        result.link_matrix = link_mat;    end    [m,n] = size(result.link_matrix);    if (m ~= n)        error ('A problem happened with the link matrix');    end    result.link_matrix_table = zeros(m,n);elseif (strcmp (model_type, 'factor' ) )    result.type = 'factorgraph-discrete';    result.number_vertices = link_mat;    if (strcmp (argument, 'qmr' ) )        result.structure_code = 'qmr';        result.all_variables = true;        result.all_variables_size = 2;    endelse    error ('Unknown type of model specified');end

⌨️ 快捷键说明

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