-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsvdMSMEval.m
More file actions
27 lines (25 loc) · 911 Bytes
/
svdMSMEval.m
File metadata and controls
27 lines (25 loc) · 911 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function RSLT = svdMSMEval(trainData, testData, nSubDim1, nSubDim2, showFlag)
if ~exist('showFlag', 'var') || isempty(showFlag)
showFlag = true;
else
showFlag = false;
end
if ndims(testData) == 4
testSet = size(testData, 3);
else
testSet = 1;
end
nClass = size(trainData, 3);
RSLT = cell(size(nSubDim2, 2), size(nSubDim1, 2));
for i = 1:size(nSubDim1, 2)
V1 = cvtBasisVectorSVD(trainData, nSubDim1{i});
for j = 1:size(nSubDim2, 2)
V2 = cvtBasisVectorSVD(testData, nSubDim2{j});
sim = orzCanonicalAngles(V1, V2);
RSLT{j, i} = OrzEval(sim(:, :, end, end), orzLabel(testSet, nClass));
if showFlag == true
fprintf('subdim1: %d, indim %d, ER: %0.3f%%, EER %0.3f%% \n', nSubDim1{i}, nSubDim2{j}, RSLT{j, i}.ER, RSLT{j, i}.EER);
end
end
end
end