2015-03-05 5 views
-2

Мне нужно создать пробный заказ моих стимулов для эксперимента, состоящего из 10 экспериментальных блоков:Использование repmat() в MATLAB

  • Там должно быть 100 испытаний на блок.
  • В качестве стимулов имеется 20 изображений.
  • В каждом блоке 20 стимулов должны быть указаны как по 5 раз.
  • Порядок стимулов должен быть полностью рандомизирован. (Значение, НЕ 1:20 в случайном порядке, а затем 1:20 в случайном порядке, и так далее. Все 100 испытаний должны быть рандомизированы по каждому блоку!)

Я должен сделать матрицу, которая представляет судебный порядок моего эксперимента, в которой строки представляют собой 10 блоков, а столбцы представляют собой стимулы к быть показан в порядке от столбца 1 - в колонну 100.

я понял, что следует использовать функцию repmat() , но я не могу это решить.

+1

Почему вы считаете, что 'repmat' следует использовать? Из вашего описания я считаю это крайне ненужным. – rayryeng

ответ

1

Это сделает это, просто скорректируйте свои значения для количества блоков и размера блока в соответствии с вашими потребностями. Нет, но repmat.

Nblocks = 10; 
Ntrials = 100; 
choices = 20; 

array = ceil([choices/Ntrials:choices/Ntrials:choices]); 
perms = array(cell2mat(cellfun('randperm',mat2cell(Ntrials*ones(Nblocks,1),ones(Nblocks,1),1),'UniformOutput',0))); 

Это хорошая идея, чтобы разделить больше обернутую команду на отдельные шаги, если вы хотите, чтобы понять это более подробно. Посмотрите, в частности, документацию по отдельным функциям и, в частности, ceil и randperm.

+1

Прохладный! Это то, что я имел в виду более или менее! – rayryeng

+0

@rayryeng Если у вас есть другая идея, вы должны опубликовать ее. Ваши решения вдохновляют, и я должен признать, что я снял трюк 'ceil' от LuisMendo :-), который любит его использовать. Я думаю, что могут быть лучшие способы, возможно даже с repmat? –

+0

Без использования 'repmat', я бы сделал это так. Я признаю, что у меня тоже есть ошибка «ceil» от Luis Mendo :) Кстати, большое спасибо за настроение :) Я рассмотрю это здесь, и если у меня есть что-то, что я могу внести, я, безусловно, буду. Благодаря! – rayryeng

Смежные вопросы