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?

 Akzeptierte Antwort

Stephen23
Stephen23 am 13 Aug. 2015
Bearbeitet: Stephen23 am 13 Aug. 2015

0 Stimmen

>> 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 Kommentare

Odien
Odien am 13 Aug. 2015
Thank you !
Walter Roberson
Walter Roberson am 13 Aug. 2015
This looks like it was homework to me...

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 13 Aug. 2015

0 Stimmen

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...

Kategorien

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by