Filter löschen
Filter löschen

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

2 Ansichten (letzte 30 Tage)
Nate
Nate am 20 Okt. 2014
Kommentiert: Roger Stafford am 22 Okt. 2014
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.

Akzeptierte Antwort

Star Strider
Star Strider am 20 Okt. 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 Kommentare
Nate
Nate am 22 Okt. 2014
Bearbeitet: Nate am 22 Okt. 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
Star Strider
Star Strider am 22 Okt. 2014
My pleasure!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Roger Stafford
Roger Stafford am 21 Okt. 2014
Axx = x.'*hankel(x,zeros(1,N/4+1));
  2 Kommentare
Nate
Nate am 22 Okt. 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 am 22 Okt. 2014
That's probably because your value N is not a multiple of 4. Do this:
round(N/4)+1
instead.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Mathematics finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by