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

18 vues (au cours des 30 derniers jours)
JJD
JJD le 24 Nov 2020
Commenté : JJD le 24 Nov 2020

Réponse acceptée

KSSV
KSSV le 24 Nov 2020
Modifié(e) : KSSV le 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 commentaires
Stephan
Stephan le 24 Nov 2020
Modifié(e) : Stephan le 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.
JJD
JJD le 24 Nov 2020
ohh, ok thank you

Connectez-vous pour commenter.

Plus de réponses (1)

Stephan
Stephan le 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

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by