Sigma notation - two variables. 'for' loop or symsum?

3 views (last 30 days)
Hello
I am trying to compute a sigma summation of a simple single column vector x, where:
N = length(x)
k = 0:N/4
i = 1:N-k
I need to solve for Axx(k):
I have tried to solve this using 'for' loops and symsum function, without success. Help is hugely appreciated, thanks.

Accepted Answer

Star Strider
Star Strider on 20 Oct 2014
This runs:
N = length(x);
for k = 0:N/4
Axx(k+1) = 0;
for i = 1:N-k
Axx(k+1) = Axx(k+1) + x(i)*x(i+k);
end
end
I’ll let you determine if it gives the answers you expect.
  2 Comments
Nate
Nate on 22 Oct 2014
Edited: Nate on 22 Oct 2014
Yes - it works perfectly, thanks.
Also - this seems to work as well:
N = length(x);
for k = 0:(N/4);
Axx(k+1) = sum((x(1:N-k,2)).*(x(1+k:N,2)));
end

Sign in to comment.

More Answers (1)

Roger Stafford
Roger Stafford on 21 Oct 2014
Axx = x.'*hankel(x,zeros(1,N/4+1));
  2 Comments
Nate
Nate on 22 Oct 2014
Thanks for this. I get an error when used with my 'x' vector.
Error using zeros Size inputs must be integers.
I found something that seems to work (see my comment below).
Thanks
Roger Stafford
Roger Stafford on 22 Oct 2014
That's probably because your value N is not a multiple of 4. Do this:
round(N/4)+1
instead.

Sign in to comment.

Categories

Find more on Mathematics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!