MATLAB Answers


Why replace isequalwithequalnans with isequaln?

Asked by David
on 11 Dec 2012
Latest activity Commented on by Felipe G. Nievinski on 29 Oct 2014

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.





Log in to comment.

1 Answer

Answer by Jan Simon
on 12 Dec 2012
 Accepted Answer

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.


Show 1 older comment

Thanks, Jan & Steve. Is there any forecast on when or whether isequalwithequalnans will be removed?

This will help us plan when setting system requirements for our production software.

@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{:});

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)
        [varargout{1:nargout}] = builtin ('isequaln', varargin{:});
        [varargout{1:nargout}] = builtin ('isequalwithequalnans', varargin{:});

Fortunately warnings identified as 'MATLAB:dispatcher:nameConflict' will only be issued once, not everytime the function is called.

Log in to comment.

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today