How to calculate array by expression with sum, not using loops
Show older comments
I want to calc array (k=1..N) from expression arr(k)=1/N*(\sum_{i=1}^{N}{arr2(i)*cos((2*k-1)*pi*i/N)})
arr2 -- already calculated array
N -- positive integer( it can be very big, so I need solution with good performance)
It is very easy to do with loops, but how to do it without loops?
Answers (1)
Andrei Bobrov
on 7 May 2014
N = numel(arr);
k = 1:N;
arr = cos((2*k(:)-1)*k(:).'*pi/N)*arr2(:)/N;
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!