How to increment a variable
487 views (last 30 days)
Show older comments
Hello. I couldn't find a way to increment a variable in MATLAB using the ++ operator. Can you help me, please? Is there a function or an operator that I can use?
Thanks in advance.
Accepted Answer
John D'Errico
on 26 Aug 2016
Edited: MathWorks Support Team
on 22 May 2019
To increment a variable X, simply use
X = X+1;
MATLAB does not support the increment operator ++.
13 Comments
John D'Errico
on 14 Sep 2022
@Jhonler you can try, but since it is not legal MATLAB syntax, it won't work. If all languages used exactly the same syntax and code, then we would only use one language.
Rev
on 12 Apr 2025
The one thing about being able to use syntax like C++ (the increment operation) is that when you want to try out ideas or concepts, Matlab makes it easier to test out sub sections of code instead of trying to compile and run it. It is helpful to be able to implement other language syntax in my experience. Matlab let's us try out code snippets and test out DSP operations with real time interface to hardware and equipment. Not to mention not having deal with the compiler.
More Answers (2)
Wayne King
on 24 Dec 2013
Edited: Walter Roberson
on 21 Jan 2022
How about just
a = a+1;
a = 1;
x = zeros(10,1);
for k = 1:10;
x(a)= k^2;
a = a+1;
end
Of course, you would never write a loop for the above, or write the loop like that even if you did, but hopefully you get the point.
2 Comments
Nivethana Narayanan
on 28 Nov 2021
a = a+1 doesnt work as MATLAB complains that a is Unrecognized function or variable 'a'. is there a way to address this?
Luke Simonson
on 21 Jan 2022
You need to initialize a as a variable before you set a = a+1.
a = 0;
a = a+1;
Walter Roberson
on 24 Dec 2013
You could create a class with preincrement and postincrement methods.
8 Comments
Francois Deneuville
on 17 Apr 2019
By the way, Walter, thanks for you comment:
You could create a class with preincrement and postincrement methods.
it was a great idea
Jesús Ramos
on 29 May 2021
What you implemented is the ++i operator of C (or java), where the variable is increased before returning the value, if you want to implement the i++ operator, you would have to add another method to the class:
function out = post_add(self)
temp=self.i;
self.i=self.i+1;
out=temp;
end
See Also
Categories
Find more on Performance and Memory 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!