Code covered by the BSD License  

Highlights from
Discriminant Analysis Programme

image thumbnail
from Discriminant Analysis Programme by Bartolomeu Rabacal
Discrimination and Classification of data to and from groups with classical/robust estimation

classifyRuleCoef(m_model, m_dap, dummyData)
function classifyRuleCoefList = classifyRuleCoef(m_model, m_dap, dummyData)

% Computes the Classification Rule Coefficients

noCV = struct('D', 1, 'detD', 1); % No Cross-Validation for Quadratic Rules

if strcmp(m_model, 'cpc')
	for j = 1:m_dap.constants.numGrp
        [dummy, constCoef, linCoef, quadCoef] = quadraticRule(m_dap.meanList{j}, m_dap.modeledInvCovList.cpc{j}, dummyData, ...
            m_dap.constants.aprioriProb(j), noCV);
        classifyRuleCoefList{j} = {constCoef, linCoef, quadCoef};
	end
elseif strcmp(m_model, 'proportional')
    for j = 1:m_dap.constants.numGrp
        [dummy, constCoef, linCoef, quadCoef] = quadraticRule(m_dap.meanList{j}, m_dap.modeledInvCovList.proportional{j}, dummyData, ...
            m_dap.constants.aprioriProb(j), noCV);
        classifyRuleCoefList{j} = {constCoef, linCoef, quadCoef};
	end
elseif strcmp(m_model, 'quadratic')
    for j = 1:m_dap.constants.numGrp
        [dummy, constCoef, linCoef, quadCoef] = quadraticRule(m_dap.meanList{j}, m_dap.invCovList{j}, dummyData, ...
            m_dap.constants.aprioriProb(j), noCV);
        classifyRuleCoefList{j} = {constCoef, linCoef, quadCoef};
	end
else
    noCV = 1; % No Cross-Validation for Linear Rule
    for j = 1:m_dap.constants.numGrp
        [dummy, constCoef, linCoef] = linearRule(m_dap.meanList{j}, m_dap.modeledInvCovList.linear{1}, dummyData, m_dap.constants.aprioriProb(j), noCV);
        classifyRuleCoefList{j} = {constCoef, linCoef};
    end
end

Contact us at files@mathworks.com