Functions name duplication in toolbox

4 views (last 30 days)
Orr Streicher
Orr Streicher on 27 Oct 2021
Edited: Jan on 28 Oct 2021
Hi,
I have a problem with function name duplication.
I am using a toolbox in which i have a function called "kmeans" ( a name that i dont want to change because it will lead to problems with other functions im working with), but there is a part in my program where i want to use matlab's implementation for the kmeans algorithem (https://www.mathworks.com/help/stats/kmeans.html#buefs04-X)
Is there any option to "sign" my program that i dont want to use the toolbox's kmeans but with the matlab's one?
Thanks
  4 Comments
Bjorn Gustavsson
Bjorn Gustavsson on 27 Oct 2021
Why on Earth would you explicitly want to stick with a function-name that is the same as a built-in function - if your function is not some kind of fall-back option for users without the toolbox that supplies that Mathworks-supplied function?
Orr Streicher
Orr Streicher on 27 Oct 2021
This toolbox has some features i want to use, but specificly with it's k-means implementation it looks like there is something wrong and i want to check it by using the built-in matlab function.
I agree that this is not very good working method, but this is a given situation that i try to find a solution to as simpe as possible, without leading to other problems in my program.

Sign in to comment.

Answers (1)

Jan
Jan on 27 Oct 2021
Edited: Jan on 28 Oct 2021
What about using builtin('kmeans') to call the Matlab version? [EDITED: This does not work. Thanks, Steven Lord]
Did you add your toolbox folders on top of Matlab's folders in the path? This is a bad idea.
Use packages if you really have the need to run different functions with the same name.
  1 Comment
Steven Lord
Steven Lord on 27 Oct 2021
kmeans is not a built-in function suitable for use with the builtin function. It is a MATLAB function file included as part of Statistics and Machine Learning Toolbox.
which kmeans
/MATLAB/toolbox/stats/stats/kmeans.m
builtin('kmeans', magic(10), 5)
Cannot find builtin function 'kmeans'

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!