why the + sign get invalid use of operator?
    3 views (last 30 days)
  
       Show older comments
    
 f=@(x)40*x.^1.5-875*x.+350000
 f=@(x)40*x.^1.5-875*x.+350000
                       ↑
Error: Invalid use of operator.
0 Comments
Answers (2)
  Stephen23
      
      
 on 7 Mar 2021
        
      Edited: Stephen23
      
      
 on 7 Mar 2021
  
      Note the difference:
1  + 2 % what MATLAB actually supports
1 .+ 2 % what you used
There is no separate array version of the plus operator, it always operates array-wise.
Rather than guessing and inventing operators, it is much more reliable to follow the MATLAB documentation:
0 Comments
  wenchong chen
 on 7 Mar 2021
        1 Comment
  Steven Lord
    
      
 on 7 Mar 2021
				Yes, that looks correct to me, at least for scalar values of x. If you want f to accept non-scalar values of x you need to use elementwise matrix power rather than matrix power as the error message indicates.
f=@(x)40.*x^1.5-875.*x+350000;
f(1)
f(1:10)
See Also
Categories
				Find more on Operators and Elementary Operations 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!

