probdist_alpha.m

来自「非线型因素分析matlab仿真程序包」· M 代码 · 共 70 行

M
70
字号
function a = probdist_alpha(varargin)% PROBDIST_ALPHA Create a new probability distribution with coefficients% for damped adaptation of values%% Copyright (C) 1999-2004 Antti Honkela, Harri Valpola,% and Xavier Giannakopoulos.%% This package comes with ABSOLUTELY NO WARRANTY; for details% see License.txt in the program package.  This is free software,% and you are welcome to redistribute it under certain conditions;% see License.txt for details.% Prefer mathematical operations of alpha_probdist over those of probdistsuperiorto('probdist')% Do our best depending on the number of input argumentsswitch nargin case 0  b = probdist(0, 1);  a.malpha = 0;  a.valpha = 0;  a.msign = 0;  a.vsign = 0;  a = class(a, 'probdist_alpha', b); case 1  if (isa(varargin{1}, 'probdist_alpha'))    a = varargin{1};  else    b = probdist(varargin{1});    a.malpha = ones(size(b));    a.valpha = ones(size(b));    a.msign = zeros(size(b));    a.vsign = zeros(size(b));    a = class(a, 'probdist_alpha', b);  end case 2  b = probdist(varargin{1}, varargin{2});  a.malpha = ones(size(b));  a.valpha = ones(size(b));  a.msign = zeros(size(b));  a.vsign = zeros(size(b));  a = class(a, 'probdist_alpha', b); case 3  if (isa(varargin{1}, 'probdist')),    b = probdist(varargin{1});    a.malpha = varargin{2} * ones(size(b));    a.valpha = varargin{3} * ones(size(b));    a.msign = zeros(size(b));    a.vsign = zeros(size(b));    a = class(a, 'probdist_alpha', b);  else    error('probdist_alpha: Bad number of arguments for initialization')  end case 4  b = probdist(varargin{1}, varargin{2});  a.malpha = varargin{3};  a.valpha = varargin{4};  a.msign = zeros(size(b));  a.vsign = zeros(size(b));  a = class(a, 'probdist_alpha', b); case 6  b = probdist(varargin{1}, varargin{2});  a.malpha = varargin{3};  a.valpha = varargin{4};  a.msign = varargin{5};  a.vsign = varargin{6};  a = class(a, 'probdist_alpha', b);end

⌨️ 快捷键说明

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