Clear Filters
Clear Filters

which functions/argument pairs support argument passing via equality statments?

1 view (last 30 days)
I had to look up the syntax of empirical mode decomposion emd ( today while checking some work in our lab. I noticed that the official doc uses the R/python format for optional arguments as assignments
[imf,residual,info] = emd(X,Interpolation="pchip");
rather than the dictionary-pair type format i've come to expect in matlab over the past decades
[imf,residual,info] = emd(X,'Interpolation','pchip');
While obviously not standard, I'm interesed to know what functions arguments support the assignment format? (I would love it if the answer were 'everything in the future')
jessupj on 14 Jun 2023
"It is standard, since 2021a:"
I think it's 'universally implemented' for sure, but i'm not convinced its the 'standard'. If it were 'standard', that, to me, would imply that MOST of the documentation and examples therein for R2023a are not in 'the standard' format
Stephen23 on 15 Jun 2023
Edited: Stephen23 on 15 Jun 2023
@jessupj: I see no reason why there cannot be multiple "standard" syntaxes. For example, ISO 8601 defines multiple date formats, which by definition are all equally "standard". In this case, that would be "universally implemented".
If your definition of "standard" is something more nebulous, something like "most people use it" or "I see it used in lots of code", then that will take some time (as well as being hard to measure). For example, I know that many users prefer/require writing code that is backwards compatible with previous versions, which completely excludes the usage of this syntax.

Sign in to comment.

Answers (1)

Steven Lord
Steven Lord on 14 Jun 2023
This Name=Value syntax for passing name-value arguments was introduced in release R2021a as stated in the Release Notes.


Find more on Get Started with MATLAB 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!