This question is closed. Reopen it to edit or answer.

Can this loop be sped up significantly?

1 view (last 30 days)
Greg on 5 Aug 2015
Closed: MATLAB Answer Bot on 20 Aug 2021
I'm at a loss as to how I can speed up this loop since each time-step is dependent on the result of the previous time-step. Can this be vectorized with some nifty approach?
for t = startingT:T
data = [d(t-lagsT)' E(t - lagsTE)'];
E(t) = data * coefficients;
Thank you,
Greg on 5 Aug 2015
Sorry Sean, just made a quick edit to coefficients. It should work now.

Answers (1)

Muthu Annamalai
Muthu Annamalai on 5 Aug 2015
Edited: Muthu Annamalai on 5 Aug 2015
It seems like you are trying to calculate a 2-tap FIR filter (if your lagsTE = 1) or lagsTE+1 tap FIR filter with lagsTE-2 coefficients set to 0.
Maybe you could do this in the frequency domain without carrying out the convolution in the time domain.
Try using the MATLAB command filter

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!