Effacer les filtres
Effacer les filtres

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

2 vues (au cours des 30 derniers jours)
Nate
Nate le 20 Oct 2014
Commenté : Roger Stafford le 22 Oct 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.

Réponse acceptée

Star Strider
Star Strider le 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 commentaires
Nate
Nate le 22 Oct 2014
Modifié(e) : Nate le 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
Star Strider
Star Strider le 22 Oct 2014
My pleasure!

Connectez-vous pour commenter.

Plus de réponses (1)

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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Mathematics dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by