How do I change the increment in a loop
215 views (last 30 days)
Show older comments
I have been asked to write a function that calculates the sum of the series;
2^(5*i-1)
where i = 1,3,5... I currently have
function s = summation(N)
% Syntax
% s = summation (N)
% Input
% N = Number of terms in series
%Output
% sum of series
%Initilising loop to be zero
s = 0;
for i = 1:N
% loop adds previous value of s to the next one
s = s + 2^(5*i-1);
end
% increasing increment i by 2 from 1 [1,3,5...etc]
i = i+2;
end
which calculates the sum for i=1,2,3.... How do I change the increment of i?
0 Comments
Answers (2)
Stephen23
on 9 May 2017
Edited: Stephen23
on 9 May 2017
i = 1:2:N
^ define the step size here!
The colon operator is clearly explained in the documentation:
2 Comments
Jan
on 9 May 2017
Note: Whenever you have questions concerning a specific command, read the documentation at first. Matlab's docs are the best I've ever read. They are useful and clear, and the "See also:" lines are smart guesses of what the user might be interested also in, when the command does not perfectly solve the problem.
Noman Rathore
on 5 Dec 2018
Hello i am New researcher , and new to Matlab programming , but i understand the basius of programming , my querry is how i can use help and support for guidance for programming my own program. i most of the time do not find the useful help.
Nomi
Phirime Monyeki
on 10 Feb 2020
N = 100 ; % should be multiple of the number of parts you want
th = linspace(0,2*pi) ;
y = cos(th) ;
plot(th,y)
% divide the section into 5 equal parts
th1 = reshape(th,5,[]) ;
y1 = reshape(y,5,[])
3 Comments
Steven Lord
on 12 Mar 2023
For the original question looking at the documentation for the colon function (which is the function name for the : operator) is correct. That's the tool you use to create a vector if you know the two desired endpoints and the increment.
For the answer under which these comments lie, you'd want to look at the documentation for the linspace function. That's the tool you use to create a vector if you know the two endpoints and how many elements you want the vector to have.
If you know one of the endpoints, the increment, and the number of elements you want the vector to have you can do that with colon as well.
startPoint = 1;
increment = 1;
numPoints = 10;
x = startPoint + increment*(0:numPoints-1)
See Also
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!