Matlab嵌套for循环太慢

时间:2016-01-29 09:52:21

标签: matlab

在matlab中嵌套For循环太慢,我想减少用于后续过程的时间,任何帮助改善情况都应该受到高度赞赏。

R =0;
C =0;
Ch=0;

MyImage = imread('Test1.TIF');
[R, C, Ch] = size(MyImage);

L1 = 2.3; 
L2 = 14.1;  
Q1 = 1; 
Q2 = 255; 
K1 = 200; 
K2 = 1000; 
E = 1.1;
RCPV = zeros(R, C);
V = zeros(R, C);
T = zeros(R, C);
for C = 1:C
    for R = 1:R
        PV(R,C) = impixel(MyImage,C,R);
        PV(R,C) = mean(PV(:));
        %PV(R,C) = PV;
        V(R,C) = ((L2-L1)/(Q2-Q1))* (PV(R,C)-Q1) + L1;
        T(R,C)= (K2/log(((K1*E)/V(R,C))+1))-273; 
    end
end

xlswrite('testdata.xlsx',T);

1 个答案:

答案 0 :(得分:0)

为什么不尝试parfor而不是for。对于像7000x8000这样的迭代次数会更好。

可能就像

parfor loopvar = initval:endval
   statements;
end

你可以让内循环,即J以并行方式运行。尝试不同的方式:)