Borrar filtros
Borrar filtros

Index exceeds matrix dimensions

1 visualización (últimos 30 días)
cat0530
cat0530 el 27 de Abr. de 2016
data_video = zeros(conf{layer,1}.filt_h*conf{layer,1}.filt_w*conf{layer,1}.in_frames ...
*conf{layer,1}.in_fmaps, num_patch); %zeros(15*15*3*1,1000)
for idx = 1:num_patch %num_patch is 1000
data_idx = ceil(rand(1,1)*num_data); %num_data is 900
data_fone = train_video{data_idx,layer};
n_hframe = size(data_fone,1); %let's say 26
n_wframe = size(data_fone,2); %let's say 70
hframe = ceil(rand(1,1)*(n_hframe-conf{layer,1}.filt_h+1));
wframe = ceil(rand(1,1)*(n_wframe-conf{layer,1}.filt_w+1));
%patch from frame1
data_fone = reshape(data_fone(hframe:hframe+conf{layer,1}.filt_h-1, ...
wframe:wframe+conf{layer,1}.filt_w-1, :), ...
config{layer,1}.filt_h* conf{layer,1}.filt_w, 1);
%patch from frame2
data_ftwo = reshape(train_video{data_idx+1,layer}(hframe:hframe+conf{layer,1}.filt_ht-1, ...
wframe:wframe+conf{layer,1}.filt_w-1, :), ...
conf{layer,1}.filt_h* conf{layer,1}.filt_w, 1);
%patch from frame3
data_fthree = reshape(train_video{data_idx+2,layer}(hframe:hframe+conf{layer,1}.filt_h-1, ...
wframe:wframe+conf{layer,1}.filt_w-1, :), ...
conf{layer,1}.filt_h* conf{layer,1}.filt_w,1);
%concatenate the patches from three frames
data = [data_fone; data_ftwo; data_fthree]; %675x1
data_video(:,idx) = reshape(data, ...
conf{layer,1}.filt_h * conf{layer,1}.filt_w * conf{layer,1}.in_frames ...
* conf{layer,1}.in_fmaps, 1);
end
when I run this, it says 'Index exceeds matrix dimensions'. And it doesn't produce error at the same index number every time I run it. Why is that? Where is the error here?

Respuestas (0)

Categorías

Más información sobre Networks en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by