parfor Индексы нижнего индекса должны быть либо действительными положительными целыми числами, либо логическими

Это мой первый раз, когда я использую parfor, и я получил эту ошибку Индексы нижнего индекса должны быть либо реальными положительными целыми числами, либо логическими. Я не могу найти, что происходит?

shape = zeros(nFile, 36);
parfor i = 1 : nFile
     if(i <= nFile1)
        imgName = strcat(query_folder1, query_pt1(i).name);
    else
        imgName = strcat(query_folder2, query_pt2(i-nFile1).name);
    end
    tic;
    img = imread(imgName);
    hist = edge_histogram(img, 24);
    fxt = fxt + toc;
    shape(i,:) = hist;
end

person neouyghur    schedule 21.10.2014    source источник
comment
Это не похоже на ошибку, связанную с parfor. В какой строке возникает ошибка? Что такое nFile1?   -  person Benoit_11    schedule 21.10.2014
comment
nFile, nFile1 - число   -  person neouyghur    schedule 21.10.2014
comment
где возникает ошибка?   -  person Benoit_11    schedule 21.10.2014
comment
Есть ли шанс, что nFile равен нулю?   -  person chappjc    schedule 21.10.2014
comment
at parfor, dbstop, если ошибка, отображать i как комплексное число. nFile не может быть нулевым..   -  person neouyghur    schedule 22.10.2014


Ответы (1)


Проблема в строке 6, i-nFile1 ниже 0. Вероятно, вам следует изменить его на (nFile1-i+1), что находится между 1 и nFile1.

person Zizy Archer    schedule 01.12.2015