Summation of all odd numbers from 1 to 451
31 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
The following lines accurately sum when d (common difference) is 1, however, as soon as it changes, I get a wrong answer, does anyone understand why? I assume I am quite ignorant, but I would love any help I can get:
% Initialize n, a, d and s
n = 451;
a = 1;
d = 2;
S = 0;
% Compute S by adding the terms
for i = 1:n
S = S+a+(i-1)*d;
end
%Call S
S
Command Window:
S = 203401
- Where S should actually equal: 51,076
0 comentarios
Respuestas (2)
Voss
el 19 de Ag. de 2022
The for loop iterates n times, so after it's done, S represents the sum of n terms, which is fine when d = 1, but when d > 1, the summation you want has less than n terms.
In other words, there are 451 integers between 1 and 451 (inclusive), but only (451+1)/2 = 226 odd integers in that range and only (451+2)/3 = 151 integers congruent to 1 mod 3 (i.e., 1, 4, 7, 10, ...) in that range.
So "for i = 1:n" must be modified to take into account the value of d, so that the loop iterates the correct number of times.
2 comentarios
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!