我需要为包含10个实验块的实验生成刺激的试验顺序:
我必须制作一个矩阵来表示我的实验的试验顺序,其中行代表10个块,而列表示对 从第1列到第100列依次显示。
我发现我应该使用函数repmat()
,但我无法解决这个问题。
答案 0 :(得分:1)
这样做,只需根据需要调整块数和块大小的值。但是没有使用repmat
。
Nblocks = 10;
Nchoices = 20;
Ndisp = 5;
Ntrials = Ndisp*Nchoices;
array = ceil([Nchoices/Ntrials:Nchoices/Ntrials:Nchoices]);
perms = array(cell2mat(cellfun('randperm',mat2cell(Ntrials*ones(Nblocks,1),ones(Nblocks,1),1),'UniformOutput',0)));
如果想要更深入地理解它,将较长的包装命令分成单个步骤是个好主意。请特别注意各个功能的文档,特别是ceil和randperm。