Borrar filtros
Borrar filtros

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

2 visualizaciones (últimos 30 días)
Nate
Nate el 20 de Oct. de 2014
Comentada: Roger Stafford el 22 de Oct. de 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.

Respuesta aceptada

Star Strider
Star Strider el 20 de Oct. de 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 comentarios
Nate
Nate el 22 de Oct. de 2014
Editada: Nate el 22 de Oct. de 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 el 22 de Oct. de 2014
My pleasure!

Iniciar sesión para comentar.

Más respuestas (1)

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

Iniciar sesión para comentar.

Categorías

Más información sobre Mathematics en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by