关于 matlab:parfor 下标索引必须是正整数或逻辑数

parfor Subscript indices must either be real positive integers or logicals

这是我第一次使用 parfor,我得到了这个错误下标索引必须是真正的正整数或逻辑。我找不到问题所在?

1
2
3
4
5
6
7
8
9
10
11
12
13
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


问题出在第 6 行,i-nFile1 低于 0。
您可能应该将其更改为 (nFile1-i 1),它介于 1 和 nFile1 之间。