Skip to content
Snippets Groups Projects
genDesignMatrix.m 780 B
Newer Older
veitsupateit's avatar
veitsupateit committed
function designMatrix = genDesignMatrix(subjectNo, imgList)
veitsupateit's avatar
veitsupateit committed
% Generates a design matrix

veitsupateit's avatar
veitsupateit committed
%initialize random number generator
veitsupateit's avatar
veitsupateit committed
rng(100*subjectNo);
veitsupateit's avatar
veitsupateit committed

%Factor filter
F1LevA = 1;
F1LevB = 2;
veitsupateit's avatar
veitsupateit committed
F1LevC = 0;
veitsupateit's avatar
veitsupateit committed

%Factor delay
veitsupateit's avatar
veitsupateit committed
F2LevA = 0.3;
F2LevB = 0.5;
F2LevC = 0.7;
veitsupateit's avatar
veitsupateit committed

veitsupateit's avatar
veitsupateit committed
F1 = [F1LevA, F1LevB, F1LevC];
veitsupateit's avatar
veitsupateit committed
F2 = [F2LevA, F2LevB, F2LevC];

NREP = length(imgList);
NTRIALS = length(F1) * length(F2) * NREP;

veitsupateit's avatar
veitsupateit committed
% Preallocate an empty design matrix
veitsupateit's avatar
veitsupateit committed
design = NaN(NTRIALS, 5);

ID = subjectNo;
cnt = 1;
for i = 1:length(F1)
    for j = 1:length(F2)
veitsupateit's avatar
veitsupateit committed
        for img = 0:NREP-1
veitsupateit's avatar
veitsupateit committed
            design(cnt, : ) = [0 ID F1(i) F2(j) img];
            cnt=cnt+1;
        end
    end
end

veitsupateit's avatar
veitsupateit committed
% Shuffle
veitsupateit's avatar
veitsupateit committed
design = design(randperm(length(design)),:);
veitsupateit's avatar
veitsupateit committed

% Create index
veitsupateit's avatar
veitsupateit committed
design(:,1) = 1:length(design);

designMatrix = design;
end