I'm not sure how to relate a counter

1 次查看(过去 30 天)
I have a equation:
𝑒 = ∑ 𝑛!
n = 0
I need to some how relate the counter, which starts at 1, with the factorial n that starts at 0. But I'm not sure how to go about this.
I need to make j=1 when n=0 and so on j=1,2,3,4,5,6... when n=0,1,2,3,4.....
i have to do this via for loops to get the first 10 terms of the sequence as well as calulating the series then plotting it.
I'm not sure how to relate the counters, how to make j=1 when n=0 and so on.

回答(1 个)

Riccardo Scorretti
编辑:Riccardo Scorretti 2022-4-7
Hi Saskiaa, if the question is just "how to have j = 1, 2, 3 ... when n = 0, 1, 2 ..." it is enough to write the loop with respect of one of the two variables (namely n) and then compute the other, for instance:
for n = 0 : 9
j = n + 1;
% some other computation
end
However, I guess that in your particualr example the problem is that 0! = 1! = 1. You could handle separately the case n=0 by rewriting the sum like:
This gives something like:
value = 1.0;
fact = 1.0;
for n = 1 : 10
fact = fact * n;
value = value + 1/fact;
end
fprintf('sum = %20.15f (reference = %20.15f)\n', value, exp(1));
sum = 2.718281801146385 (reference = 2.718281828459045)
Notice that this kind of code is for pedagogical purpose only. In "true" Matlab coding, I would rather vectorize like that:
fact = cumprod(1:10);
value = 1.0 + sum(1./fact);
fprintf('sum = %20.15f (reference = %20.15f)\n', value, exp(1));
sum = 2.718281801146385 (reference = 2.718281828459045)
  4 个评论
Saskiaa Vamadevan
Okay, sorry about the code formatting.
We have to do n+1 to account for the 1/0! when doing the sumtoplot. Okay, I understand now. I think I was sturggling on the starting the loop part due to n=0.
Thank you for your help

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by