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 ExchangeMATLAB Coder についてさらに検索

製品

リリース

R2017a

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by