Effacer les filtres
Effacer les filtres

How to make a summation with index vector?

2 vues (au cours des 30 derniers jours)
Adriano
Adriano le 11 Mai 2018
Modifié(e) : Guillaume le 11 Mai 2018
Hi! I need to solve this summation in Matlab:
where N is a constant and s is a matrix YxN. I tried to use symsum function but I can't index the s matrix. Anyone can help me? Many thanks!
  3 commentaires
Walter Roberson
Walter Roberson le 11 Mai 2018
If s is Y x N then what is s subscript t ?
Adriano
Adriano le 11 Mai 2018
Modifié(e) : Adriano le 11 Mai 2018
Sorry the matrix is a TxN. I'm working with a time serie so that the row is usually indicated with t. Suppose I have a matrix like:
s = [1 2; 3 4; 5 6] where N = size(s,2)
I need to create a vector Z in which the first element is:
value_1_1 = (1*s(1,1) - (1/N)) + (2*s(1,2) - (2/N));
the second one is:
value_2_1 = (1*s(2,1) - (1/N)) + (2*s(2,2) - (2/N));
and so on. Obviously in the reality the s matrix is a very large matrix so that I need a simple way to calculate it.

Connectez-vous pour commenter.

Réponse acceptée

Guillaume
Guillaume le 11 Mai 2018
Modifié(e) : Guillaume le 11 Mai 2018
I need to create a vector Z in which the first element is:
col = 1:size(s, 2);
Z = sum(col .* s - col/N, 2); %requires R2016b or later
Note that the sum 1/N + ... N/N could be extracted from the formula since it's a constant equal to (N+1)/2, so a simplification of the above would be:
Z = sum(col .* s) - (size(s, 2)+1)/2;

Plus de réponses (0)

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