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

19 views (last 30 days)

Accepted Answer

KSSV
KSSV on 24 Nov 2020
Edited: KSSV on 24 Nov 2020
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 Comments
Stephan
Stephan on 24 Nov 2020
Edited: Stephan on 24 Nov 2020
It is elementwise multiplication, so the calculation works in a vectorized way. This makes the code more efficient and no for loop is needed.

Sign in to comment.

More Answers (1)

Stephan
Stephan on 24 Nov 2020
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

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!