3(2+1)+4(3+2+1)+5(4+3+2+1)+6(5+...1)+...+1000(999+...+1).
How to write a matlab code to calculate the following summation without using for loop?
i can see the trend for 3(2+1) if the n = 1 (n+2)[((n+2)-1)+((n+2)-2)].
Assume the summation only sum until 6th term.
can we use array to solve this?

2 件のコメント

ibraheem kanai
ibraheem kanai 2021 年 6 月 5 日
Walter Roberson
Walter Roberson 2021 年 6 月 5 日
編集済み: Walter Roberson 2021 年 6 月 12 日

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

 採用された回答

Stephen23
Stephen23 2015 年 8 月 13 日
編集済み: Stephen23 2015 年 8 月 13 日

0 投票

>> X = 1+cumsum(2:999); % 1+[2,3+2,4+3+2,...,999+..+2]
>> Y = 3:1000; % [3,4,5,...,1000]
>> sum(X.*Y)
ans = 125083208248
Note that this uses element-wise multiplication.

2 件のコメント

Odien
Odien 2015 年 8 月 13 日
Thank you !
Walter Roberson
Walter Roberson 2015 年 8 月 13 日
This looks like it was homework to me...

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

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2015 年 8 月 13 日

0 投票

It does have a symbolic answer that you could find using nested symsum() if you have the symbolic toolbox.
But for a numeric answer: cumsum() and multiply by something gives a bunch of terms...

カテゴリ

ヘルプ センター および File ExchangeMatrix Indexing についてさらに検索

製品

質問済み:

2015 年 8 月 13 日

編集済み:

2021 年 6 月 12 日

Community Treasure Hunt

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

Start Hunting!

Translated by