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

📄 bnorm.m

📁 This Two-Category Classifier Using Discriminant Functions to separeate two classes. The Classifier
💻 M
字号:
function [bivar,Z1,Z2] = bnorm(mu, covar, range, n)
%function [bivar,Z1,Z2] = bnorm(mu, covar, range, n)
% Generate Bivariate Gaussian (Normal) data and plot from given mean and covariance
%
% mu is 2x1 mean vector
% covar 2x2 Covariance matrix
% range is 1x2 matrix to define plot range
% n is scaler number of data to be generated in each X-axis and Y-axis
%
% Developed by: Kirit Patel
% EE 574: Pattern Recognition
% Date: 11/30/2002

if (nargin < 4), n = 50; end 
if (nargin < 3), range = [-10 10]; end
if (nargin < 2), errordlg('Not enough input arguments','Input Error','on'); return; end
errstr = {'Covariance Matrix is Singular or Diagonal',
    'element is negative or Determinant is negative'};
[Z1, Z2] = meshgrid(linspace(range(1), range(2), n));
X = linspace(range(1), range(2), n);
if (isequal(size(mu),[2 1])==1)&(isequal(size(covar),[2 2])==1)
    Xm = X-mu(1);
    Ym = X-mu(2);

    if det(covar) <= 0 
        errordlg(errstr,'Input Matrix Error','on')
        return    
    end
    for row = 1:n
            eterm(row,:) = diag([Xm;ones(1,n).*Ym(row)]'*inv(covar)*[Xm;ones(1,n).*Ym(row)])';
    end;
    den = sqrt((2.*pi).^length(mu).*abs(det(covar)));
    bivar = exp(-0.5.*eterm)./den;
    if (nargout == 0) 
        mesh(Z1,Z2,bivar)
        xlabel('x-axis'); ylabel('y-axis'); zlabel('Density function, p(x|w)');
        title('Normal Bivariate Density')
    end 
else 
    errordlg('Matrix Dimensions are improper','Input Matrix Error','on')
end

⌨️ 快捷键说明

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