Extendable, but bacward compatible M code.

2 views (last 30 days)
What is the best way of creating M code that can easily be extended, but will remain backward compatible? When creating code, it is beneficial to try to predict future use along with the present use, e.g., which parameters could potentially be of interest to the user.?
It is not possible to predict all parameters that potentially will be changed by future users. How can my M code deal with this problem and still be simple and easy to read?
One solution is to include a struct as parameter to the function. This struct can be extended by new fields, if required.

Accepted Answer

Martijn
Martijn on 25 Feb 2011
Working with structures is indeed an option. Other options include working with VARARGIN and VARARGOUT:
Or you could consider working with the inputParser which allows easy implementation of 'parameter', value pairs:
(You could easily add new optional fields later on)

More Answers (1)

Jesper
Jesper on 28 Feb 2011
Thanks for your answer. It led me to the following page:
http://blogs.mathworks.com/loren/2009/05/05/nice-way-to-set-function-defaults/
There seems to many ways to achieve backward compatible code. However, no "standard" Matlab way to do it.

Community Treasure Hunt

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

Start Hunting!