why the + sign get invalid use of operator?
2 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!