in my case, i have an array enveloped in for loop
for i = 1:6
array = [0.5 1 5 2 7 3]
end
now i want to show the result of sum in array element (ex: 0.5 + 1 on first iteration, then 1.5(result of previous iteration) + 5 and so on)
the code that i already try is :
array(i) = array(i) + array(i-1)
but i can't get the result. i already tried with temp, but the problem persists.
thank you

4 件のコメント

Walter Roberson
Walter Roberson 2019 年 3 月 21 日
Note that each iteration of that "for i" loop, you are overwriting all of array
Kenneth Sabandar
Kenneth Sabandar 2019 年 3 月 21 日
thanks for the answer!
my first programming language before MATLAB is C#, and apparently C# use recursive for my case (already worked it with my friend).
in C# (for example)
for(int i = 0: i<7; i++)
{
new_array[i] = old_array[i] + old_array[i+1];
}
*it's 7, because c# starts counting from 0
i'm still confused with MATLAB array element, how to express if we want to add array(i) with one element before it(i-1)
Walter Roberson
Walter Roberson 2019 年 3 月 21 日
What you had before
array(i) = array(i) + array(i-1)
should work, provided i starts at 2.
... But you need to be sure not to overwrite all of array in the loop. The assignment to array should not have been in a loop.
Kenneth Sabandar
Kenneth Sabandar 2019 年 3 月 21 日
thank you! i really appreciate it

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

 採用された回答

Krishna Kumar
Krishna Kumar 2019 年 3 月 21 日

0 投票

Are you just interested in this?
array = [0.5 1 5 2 7 3];
sum=cumsum(array)
If you just want add two neighbouring terms, this should work:
sum= array(1:end-1)+array(2:end)
which basically adds an element with previous one.

1 件のコメント

Kenneth Sabandar
Kenneth Sabandar 2019 年 3 月 23 日
thank you! solved my problem right away :)

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Loops and Conditional Statements についてさらに検索

製品

リリース

R2017a

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by