OK ein wenig schneller geht es schon noch. Das äußere squeeze war unnötig.
Die Angabe der Dimension bei 'sum' auch. Bringt eine Beschleunigung um den Faktor 2:
% Feldgrößen
nR = 20;
nG = 10;
% dummy daten
r_c = rand(1,nR);
r = rand(1,nR);
r_p = rand(1,nR,nG);
x = rand(nR,nG);
% Schleife
for iR=1:nR
r_c(1,iR)=r(1,iR) - sum( squeeze(r_p(1,iR,:)) .* x(1,:)');
end;
Weitere Ideen wie man die Schleife los wird?
↧