matlab equivalent of "+="
    670 views (last 30 days)
  
       Show older comments
    
Hello all,
First of all, I would like to say thanks for all your help. Your prompt and accurate replies save me a lot of programming time.
When I used to program in java, there was a useful command, so to say:
"counter+="
which will increment the variable itself. This was a useful function to use in for loops. I was wondering if matlab had a shortcut expression such as this, something that I can use in an array even, so like
somearray[i]+=; can work? Or is the only available option to say counter=counter+1? I just want to see if there was a faster way to write the expression.
thanks!
Sam
0 Comments
Accepted Answer
  Sean de Wolski
      
      
 on 11 Oct 2011
        for-loops automatically increment and any reassignment inside the loop will be reset at the next increment:
for ii = 1:10
  disp(ii)
  ii = 5000;  
end
To be able to toy with the counter use a while loop and to the assignment manually
count = count+1;
6 Comments
More Answers (1)
  Walter Roberson
      
      
 on 11 Oct 2011
        MATLAB does not have ++ or += or -- or -= or *= or /= or %= and is not expected to get any of those for some time (if at all.)
I think if you look back at your Java you will find it was ++ rather than += that you were using for incrementing.
4 Comments
  Andrew
 on 18 Jan 2024
				@Alexandre Sagona Strong agree; I wish my MATLAB class at uni would just let me use C instead.
  Real User
 on 31 Jan 2024
				data(complex_index_sequence, another_one) = data(complex_index_sequence, another_one) + data2
would benefit from "+=". It would be much easier to read and maintain.
It helps a bit to define the indices separately before that line, but "+=" would be better.
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!