How do you resolve conflict when multiple toolboxes have functions with the same name?

34 次查看(过去 30 天)
When I call the smooth function, I want the smooth function from the curve fitting toolbox which simply does a moving average of my data. However, Matlab runs the smooth function from the econometrics toolbox, which appears to be entirely different. How do I specify that I want the smooth function from the curve fitting toolbox?
  1 个评论
Benoit Espinola
Benoit Espinola 2020-6-15
As a feedback for Mathworks. This is extremely bad programming practices. Users get confused and waste their time because of this. Unacceptable for a paid tool.



Sean de Wolski
Sean de Wolski 2014-12-15
which -all smooth
C:\Program Files\MATLAB\R2015aPre\toolbox\curvefit\curvefit\smooth.m
C:\Program Files\MATLAB\R2015aPre\toolbox\econ\econ\@ssm\smooth.m % ssm method
The only way econ's smooth will be called is if you have an ssm object. In this case, the smooth method for ssm will be used as curve fitting's smooth has no knowledge of how to work on an ssm object.
  5 个评论


更多回答(3 个)

khadija el maati
khadija el maati 2017-4-2
i had falling in the same problem with the function findpeaks wich is defined in the toolbox signal/signal and wich is defined in the toolbox plot_hht (Matlab 2013) .the solution for me was to move the position of the toolbox signal up to the toolbox plot_hht ..for this go to:home-->Set Path-->clic in signal toolbox-->clic in the Move up botton to give a priority to signal toolbox than the plot_hht toolbox

Sinan Islam
Sinan Islam 2022-6-11
I solved this problem by packaging the conflicting function.
I have two functions, both named "pca". The first pca function is in the Statistics & ML toolbox, and the second pca function from a file I downloaded from Matlab File Exchange Community.
I packaged the second pca function by simply adding a plus sign to the folders containing it.
So if the conflicting pca function is contained within 5 folders, you have to add plus sign to every folder.
In case you needed to use the packaged function, you have to explicitly import it.
Note: You need to remove the conflicting function from the namespace before packaging it, then add it back when done.

Deependra Mishra
Deependra Mishra 2022-7-29
I had the similar issue, I want to use classify.m function from nnet toolbox, however, when I use, it calls the classify method from stats toolbox.
which -all classify
C:\Program Files\MATLAB\R2022a\toolbox\stats\stats\classify.m
C:\Program Files\MATLAB\R2022a\toolbox\nnet\cnn\@DAGNetwork\classify.m % DAGNetwork method
In Set Path, nnet toolbox is above the stats toolbox. How do I call the classify method from nnet toolbox?
  4 个评论
Walter Roberson
Walter Roberson 2022-7-30
perhaps you do not have the Deep Learning Toolbox installed or licensed
What shows up for
whos Net
which classify(Net)
which -all classify



Find more on Curve Fitting Toolbox 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!

Translated by