订阅的分配维度不匹配PARFOR错误

时间:2015-10-14 15:54:28

标签: matlab parfor

我遇到了parfor循环的问题:当我想运行一个代码,其结构与下面显示的代码非常相似时,我得到了

  

订阅分配维度不匹配错误

我用

运行代码
  

dbstop if error

并且我观察到索引i和j被很好地迭代但结果对我的wokspace不可用。你有什么想法吗?

    matlabpool 12;
Nx = 51;
Ny = 53;
Nc = 11;
Ns = randn(Ny,Nx);
Nr = randn(Nc, 2^14);
Ne = randn(1, Nc);

parfor j = 1:Ny
    tic
    for i = 1:Nx
        idx = randi([1,Nc],1,19);
        if isempty(idx)
            continue
        end
        a = Nr(idx,:);  
        b = Ne(idx)';

        nrr = sum(bsxfun(@(a, b) a.*b, a, b)/(Ns(j,i)),1); 
        nrrr(j,i,:) = nrr;
    end
    toc
end

PS:这段代码不是真正的代码,但我可以向您保证,操作类型保持为真实类型(真正的操作类型在非常大的脚本中找到)。

0 个答案:

没有答案