随机选择一个数字图像从一个数组,等于数量列表

22日视图(30天)
我有一个代码,我有一个x数量的图像(x = 60)和要选择y (y = 30为例)的第一阶段(我们现在与Psychtoolbox图片)
在第一阶段,我们希望呈现图像的参与者记住它们。在第二阶段,10这些图像将连同5 - 10新的图片,参与者将不得不做一个键盘按键的响应和新老反应。(老响应意味着他们已经看到这些图片在第一阶段)
%第一阶段:30图像
% 2期:10旧图片(从那些30在阶段1)和5 - 10的新图像
allimages = dir (“* * / * . png”);%目录的图片
imgname = {allimages.name};%将图像名称到一个数组中
imgnumber =长度(imgname);%计算总数的图像(60)
randomorder = [randperm (imgnumber)];%随机60图像数字列表
%图片阶段1
img_phase1 = randperm (imgnumber 30);%选择30随机图像从60
%我的问题代码是:
img_old = randperm(长度(img_phase1), 10);%我想从这30选择10张,但是它们必须在每个试验中随机选出的。
img_old刚刚的问题我是随机选择的数字(从1到30)和10的。我想要的是这些数字的10从30个图像列表中(这是随机的,所以它包含30个不同项目不同编号的图片)。我希望10的10 30列表的相同。
我怎么去呢?

接受的答案

图像分析
图像分析 2020年11月30日
试试这个:
img_phase1 = randperm (imgnumber 30);%选择30随机图像从60
%得到10随机指标的范围中。
indexes10 = randperm(长度(img_phase1), 10);%我想从这30选择10张,但是它们必须在每个试验中随机选出的。
%从列表中提取10个指标从原来的30 60。
%索引只能存在于img_phase1的索引。
%例如如果49不是30 60的选择之一,
%那么49肯定会不会最后10指标之一。
指数= img_phase1 (indexes10);

更多的答案(0)

s manbetx 845

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!