There is already a function
sum(). As a result, if we name a variable with the same name
sum = 1+3;
and if we try to use the function while the variable still exists in the workspace
A = rand(2); sum(A,1)
we will get the cryptic error:
Subscript indices must either be real positive integers or logicals.
clear() the variable first and then use the function
clear sum sum(A,1) ans = 1.0826 1.0279
How can we check if a function already exists to avoid this conflict?
which() with the
which sum -all sum is a variable. built-in (C:\Program Files\MATLAB\R2016a\toolbox\matlab\datafun\@double\sum) % Shadowed double method ...
This output is telling us that
sum is first a variable and that the following methods (functions) are shadowed by it, i.e. MATLAB will first try to apply our syntax to the variable, rather than using the method.