how do i write a matlab script to sum this expression?

 採用された回答

KSSV
KSSV 2020 年 11 月 24 日
編集済み: KSSV 2020 年 11 月 24 日

1 投票

N = 100;
thesum = 0 ;
for i = 1:N
thesum = thesum+(1/i+1/((i+2)*(i+3))) ;
end
Without Loop:
N = 100 ;
f = @(i) (1./i+1./((i+2).*(i+3))) ;
i = 1:N ;
s = sum(f(i)) ;

3 件のコメント

JJD
JJD 2020 年 11 月 24 日
what does the "." for in the without loop script ?
Stephan
Stephan 2020 年 11 月 24 日
編集済み: Stephan 2020 年 11 月 24 日
It is elementwise multiplication, so the calculation works in a vectorized way. This makes the code more efficient and no for loop is needed.
JJD
JJD 2020 年 11 月 24 日
ohh, ok thank you

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

その他の回答 (1 件)

Stephan
Stephan 2020 年 11 月 24 日

1 投票

Symbolic:
syms n positive integer
N = 10000;
eq = 1/n + 1/((n+2)*(n+3));
pretty(eq)
sol = symsum(eq,n,1,N)
sol_num = double(sol)
results in:
>> Untitled
1 1
--------------- + -
(n + 2) (n + 3) n
sol =
eulergamma + psi(10001) + 10000/30009
sol_num =
10.1208

1 件のコメント

JJD
JJD 2020 年 11 月 24 日
thank you, for your answer

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

カテゴリ

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

質問済み:

JJD
2020 年 11 月 24 日

コメント済み:

JJD
2020 年 11 月 24 日

Community Treasure Hunt

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

Start Hunting!

Translated by