loop and array for sum

11 次查看(过去 30 天)
Irem Kuzgunkaya
Irem Kuzgunkaya 2020-5-12
magnitude= abs(y); % amplitude of y signal
near= ceil(N/F);
signal= zeros(1,near);
for i=1:1000:N
for j=i:1:near
s = sum(magnitude(i:i+1000));
signal(j)= s;
end
end
I am trying to store every sum in array but instead, i get same result for every signal(j). I think i am missing something.

回答(2 个)

Steven Lord
Steven Lord 2020-5-12
The expression you use to calculate s doesn't depend on j and also doesn't depend on anything that changes inside the loop over j. So it's expected that you receive the same answer each time.
I don't know how you want to modify your code so that the expression you use to calculate s has some dependence on j. If you post the mathematical expression you're trying to compute or the problem you're trying to solve as a comment we may be able to offer some guidance.
  1 个评论
Irem Kuzgunkaya
Irem Kuzgunkaya 2020-5-12
i have a 232 second long signal with N=1000. I want to sum magnitude of every 1000 sample and put every sum in the signal array.

请先登录,再进行评论。


drummer
drummer 2020-5-12
s = s + sum(magnitude(i:i+1000));
would it work?

产品


版本

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by