How to "keep" a variable for some rows within a for loop

1 回表示 (過去 30 日間)
buhmatlab
buhmatlab 2020 年 4 月 22 日
コメント済み: Ameer Hamza 2020 年 4 月 22 日
Hi,
My problem is the following:
I've created a for-loop in which I calculate SOMETHING(i) for each row (see code below). But I'm not able to keep the variable "SOMETHING" for some rows since i updates this variable in each row.
My goal is not to use the current variable SOMETHING of (i) in each row, I rather wanna calculate c with the same "SOMETHING" for 10 rows.
For example:
In the first 10 rows I would like to use SOMETHING(1) for my calculation of variable c and in row 11 I would like to use
SOMETHING(11) = SOMETHING(1) + c(1) + c(2) + c(3) + c(4) + c(5) + c(6) + c(7) +c(8) + c(9) + c(10)
With SOMETHING(11) I would like to calculate c for the next 10 rows again and so on...
Is there a way to achieve this?
Would I need to use another for loop?
MANY THANKS!!!
WRONG CODE:
for i = length(a)
c(i) = a(i) + b(i) * SOMEHING(i)
SOMETHING(i) = c(i) + SOMETHING(i)
end

採用された回答

Ameer Hamza
Ameer Hamza 2020 年 4 月 22 日
編集済み: Ameer Hamza 2020 年 4 月 22 日
Try something like this
for i = 1:length(a)
idx = floor((i-1)/10)*10 + 1;
c(i) = a(i) + b(i) * SOMEHING(idx);
if mod(i,10)==1
SOMETHING(idx) = c(idx-9:idx) + SOMETHING(idx);
end
end
  8 件のコメント
buhmatlab
buhmatlab 2020 年 4 月 22 日
Oops! Unfortunately I was out of my mind...this little tweak makes totally sense!
Thank you so much!!!
Ameer Hamza
Ameer Hamza 2020 年 4 月 22 日
I am glad to be of help.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by