Right array division with a vector
    5 views (last 30 days)
  
       Show older comments
    
    Harel Harel Shattenstein
 on 25 Mar 2018
  
    
    
    
    
    Edited: John D'Errico
      
      
 on 25 Mar 2018
            Why
1./1:1:10
return error
and
1./(1:1:10)
Does not?
Should not 1:1:10 return a vector?
0 Comments
Accepted Answer
  John D'Errico
      
      
 on 25 Mar 2018
        
      Edited: John D'Errico
      
      
 on 25 Mar 2018
  
      Works for me.
1./1:1:10
ans =
     1     2     3     4     5     6     7     8     9    10
What error do you think it produces?
Let me guess. it did not produce an error. It just produces something you did not expect to see.
Division is higher in the operator precedence list than colon.
So MATLAB computes 1./1, which happens to be 1. Then it generates the vector 1:1:10. Effectively, MATLAB sees this as
(1./1):1:10
When you change it by putting parens around the colon call, it does that FIRST, then divides those elements into 1.
So really, this is just a question of understanding operator precedence.
https://www.mathworks.com/help/matlab/matlab_prog/operator-precedence.html
If colon was higher in the list, then you would get the same answer with or without the parens.
0 Comments
More Answers (0)
See Also
Categories
				Find more on Logical 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!
