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

📄 gaussianlog.html

📁 一个关于数据聚类和模式识别的程序,在生物化学,化学中因该都可以用到.希望对大家有用,谢谢支持
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"                "http://www.w3.org/TR/REC-html40/loose.dtd"><html><head>  <title>Description of gaussianLog</title>  <meta name="keywords" content="gaussianLog">  <meta name="description" content="gaussianLog: Multi-dimensional log Gaussian propability density function">  <meta http-equiv="Content-Type" content="text/html; charset=big5">  <meta name="generator" content="m2html &copy; 2003 Guillaume Flandin">  <meta name="robots" content="index, follow">  <link type="text/css" rel="stylesheet" href="../m2html.css"></head><body><a name="_top"></a><div><a href="../index.html">Home</a> &gt;  <a href="index.html">dcpr</a> &gt; gaussianLog.m</div><!--<table width="100%"><tr><td align="left"><a href="../index.html"><img alt="<" border="0" src="../left.png">&nbsp;Master index</a></td><td align="right"><a href="index.html">Index for dcpr&nbsp;<img alt=">" border="0" src="../right.png"></a></td></tr></table>--><h1>gaussianLog</h1><h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="box"><strong>gaussianLog: Multi-dimensional log Gaussian propability density function</strong></div><h2><a name="_synopsis"></a>SYNOPSIS <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="box"><strong>function out = gaussianLog(data, gaussianParam, gConst); </strong></div><h2><a name="_description"></a>DESCRIPTION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="fragment"><pre class="comment"> gaussianLog: Multi-dimensional log Gaussian propability density function
    Usage: out = gaussianLog(data, gaussianParam, gConst)
    data: d x n data matrix, representing n data vector of dimension d
    mu: d x 1 vector
    sigma: d x d matrix
        d x 1 vector
        1 x 1 scalar
    out: 1 x n vector

    See also &quot;gaussian&quot;.</pre></div><!-- crossreference --><h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>This function calls:<ul style="list-style-image:url(../matlabicon.gif)"><li><a href="gaussian.html" class="code" title="function out = gaussian(data, gParam);">gaussian</a>	gaussian: Multi-dimensional Gaussian propability density function</li><li><a href="gaussianLog.html" class="code" title="function out = gaussianLog(data, gaussianParam, gConst);">gaussianLog</a>	gaussianLog: Multi-dimensional log Gaussian propability density function</li></ul>This function is called by:<ul style="list-style-image:url(../matlabicon.gif)"><li><a href="gaussianLog.html" class="code" title="function out = gaussianLog(data, gaussianParam, gConst);">gaussianLog</a>	gaussianLog: Multi-dimensional log Gaussian propability density function</li></ul><!-- crossreference --><h2><a name="_subfunctions"></a>SUBFUNCTIONS <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><ul style="list-style-image:url(../matlabicon.gif)"><li><a href="#_sub1" class="code">function selfdemo</a></li></ul><h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="fragment"><pre>0001 <a name="_sub0" href="#_subfunctions" class="code">function out = gaussianLog(data, gaussianParam, gConst);</a>0002 <span class="comment">% gaussianLog: Multi-dimensional log Gaussian propability density function</span>0003 <span class="comment">%    Usage: out = gaussianLog(data, gaussianParam, gConst)</span>0004 <span class="comment">%    data: d x n data matrix, representing n data vector of dimension d</span>0005 <span class="comment">%    mu: d x 1 vector</span>0006 <span class="comment">%    sigma: d x d matrix</span>0007 <span class="comment">%        d x 1 vector</span>0008 <span class="comment">%        1 x 1 scalar</span>0009 <span class="comment">%    out: 1 x n vector</span>0010 <span class="comment">%</span>0011 <span class="comment">%    See also &quot;gaussian&quot;.</span>0012 0013 <span class="comment">%    Roger Jang, 20050327</span>0014 0015 <span class="keyword">if</span> nargin&lt;1, <a href="#_sub1" class="code" title="subfunction selfdemo">selfdemo</a>; <span class="keyword">return</span>; <span class="keyword">end</span>0016 [dim, dataNum]=size(data); 0017 0018 dataMinusMu = data-repmat(gaussianParam.mu, 1, dataNum);0019 <span class="keyword">if</span> prod(size(gaussianParam.sigma))==1    <span class="comment">% identity covariance matrix times a constant for each Gaussian</span>0020     <span class="keyword">if</span> nargin&lt;30021         out = -sum(dataMinusMu.*dataMinusMu/gaussianParam.sigma, 1)/2-dim/2*log(2*pi)-dim/2*log(gaussianParam.sigma);0022     <span class="keyword">else</span>0023         out = -sum(dataMinusMu.*dataMinusMu/gaussianParam.sigma, 1)/2+gConst;0024     <span class="keyword">end</span>0025 <span class="keyword">elseif</span> prod(size(gaussianParam.sigma))==dim    <span class="comment">% diagonal covariance matrix for each Gaussian</span>0026     <span class="keyword">if</span> nargin&lt;30027         out = -sum(dataMinusMu./repmat(gaussianParam.sigma, 1, dataNum).*dataMinusMu, 1)/2-dim/2*log(2*pi)-log(prod(gaussianParam.sigma))/2;0028     <span class="keyword">else</span>0029         out = -sum(dataMinusMu./repmat(gaussianParam.sigma, 1, dataNum).*dataMinusMu, 1)/2+gConst;0030     <span class="keyword">end</span>0031 <span class="keyword">else</span>    <span class="comment">% full covariance matrix for each Gaussian</span>0032     invCov = inv(gaussianParam.sigma);            <span class="comment">% For repeated invocation of this function, this step should be moved out of this function</span>0033     <span class="keyword">if</span> nargin&lt;30034         out = -sum(dataMinusMu.*(invCov*dataMinusMu), 1)/2-dim/2*log(2*pi)-log(det(gaussianParam.sigma))/2;0035     <span class="keyword">else</span>0036         out = -sum(dataMinusMu.*(invCov*dataMinusMu), 1)/2+gConst;0037     <span class="keyword">end</span>0038 <span class="keyword">end</span>0039 0040 <span class="comment">% ====== Self demo</span>0041 <a name="_sub1" href="#_subfunctions" class="code">function selfdemo</a>0042 x = linspace(-10, 10);0043 gaussianParam.mu = 0;0044 gaussianParam.sigma = 0.1;0045 0046 y1 = log(<a href="gaussian.html" class="code" title="function out = gaussian(data, gParam);">gaussian</a>(x, gaussianParam));0047 y2 = <a href="gaussianLog.html" class="code" title="function out = gaussianLog(data, gaussianParam, gConst);">gaussianLog</a>(x, gaussianParam);0048 diff = abs(y1-y2);0049 0050 subplot(2,1,1); plot(x, y1, x, y2);0051 subplot(2,1,2); plot(x, diff);</pre></div><hr><address>Generated on Thu 30-Oct-2008 12:53:56 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> &copy; 2003</address></body></html>

⌨️ 快捷键说明

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