Why replace isequalwithequalnans with isequaln?

3 次查看(过去 30 天)
Regarding the switch in 2012a [1]:
Other Functionality Being Removed or Changed
Functionality: isequalwithequalnans
What Happens When You Use This Functionality: Still Runs
Use This Instead: isequaln
Compatibility Considerations: Replace all instances of isequalwithequalnans with isequaln.
Comments [2,3] have suggested that the reason for the switch is just to shorten the name of the function. Is this the true change, or is there any other benefit (performance) to consider in the new function?
Thanks for your comments.

采纳的回答

Jan
Jan 2012-12-12
As long as isequalwithequalnans is still support, I cannot see a problem.
I assume the new function name isequaln was chosen, because the old one is the most ugly function name I've ever seen.
  4 个评论
Jan
Jan 2012-12-12
@David: There have been and will be much more substantial changes than just the name of this function.
In my startup.m file a folder depending on the running Matlab version is included, which stores functions for forward and backward compatibility. On demand you can add a function in such a folder for patches:
function Out = isequalwithequalnans(varargin)
Out = isequaln(varargin{:});
Felipe G. Nievinski
Felipe G. Nievinski 2014-10-29
Never overemphasized: It'll break backwards compatibility!
If you don't want to bother with conditional seach-path inclusion, just create the following file isequaln.m:
function varargout = isequaln (varargin)
try
[varargout{1:nargout}] = builtin ('isequaln', varargin{:});
catch
[varargout{1:nargout}] = builtin ('isequalwithequalnans', varargin{:});
end
end
Fortunately warnings identified as 'MATLAB:dispatcher:nameConflict' will only be issued once, not everytime the function is called.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Relational Operations 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by