how do I find where a function is defined (equivalent of "which" command in bash)

3 views (last 30 days)
When I start Matlab on one of my work machines, I get the message:
"Warning: Function count has the same name as a MATLAB builtin.."
I know exactly what the message means, but I do not know how to fix it, because I can not find where I have defined the function "count". If this was in a bash shell I would type the command "which count". Is there a Matlab equivalent, which shows me where the function "count" has been redefined?
  1 Comment
PeterB
PeterB on 14 Jul 2021
Edited: PeterB on 14 Jul 2021
Thanks everyone. I feel a bit silly not trying all permutations. I tried:
which(count)
but not
which count
or
which("count")
which both worked. I was just a bit disoriented not being at my normal desk and without my glasses!

Sign in to comment.

Accepted Answer

Cris LaPierre
Cris LaPierre on 14 Jul 2021
Edited: Cris LaPierre on 14 Jul 2021
Yes, there is a which command in MATLAB. Note that count is an overloaded function, meaning it exists in several toolboxes. Here are the results in R2021a.
which -all count
built-in (/MATLAB/toolbox/matlab/strfun/count) count is a built-in method % Shadowed string method /MATLAB/toolbox/matlab/codetools/@mtree/count.m % Shadowed mtree method /MATLAB/toolbox/matlab/bigdata/@tall/count.m % Shadowed tall method /MATLAB/toolbox/parallel/parallel/@codistributed/count.m % Shadowed codistributed method
  3 Comments
Walter Roberson
Walter Roberson on 14 Jul 2021
Yes, the user will always see that message on startup.
C:\Program Files\MATLAB\R2020a\toolbox\local\count.m
What is the point of that? It is shadowed with the current path settings, so it will not be invoked -- the strfun\count version will be invoked for datatypes other than the ones listed as having @ .
If the intent is to have it be active only for a particular data type, you should build it into the class for that datatype.
PeterB
PeterB on 14 Jul 2021
Edited: PeterB on 14 Jul 2021
I didn't create it so I don't know what the intention was. (It's not the computer I usually use.) But thank you: now I know why it is giving the warning, and why I am getting a warning for the "count" function and not for anything else.

Sign in to comment.

More Answers (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov on 14 Jul 2021
which count

Categories

Find more on Historical Contests in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!