Default arguments

Set missing/empty variable or field to given value
Updated 15 Dec 2009

View License

This simple helper-function lets you replace commonly seen input-argument handling code with shorter and clearer alternatives. For example, instead of:
if nargin < 2
x = 42;
if ~isfield(options, 'verbose')
options.verbose = false;
if ~isfield(options, 'method')
options.method = 1;

you can simply have:
default('x', 42)
default(options, 'verbose', false)
default(options, 'method', 1)

By avoiding nargin, you can more easily change function definitions without messing up all of the argument numbers, e.g. changing: function blah(input, verbose)
to: function blah(method, input, options, verbose)
only requires new default commands for method and options arguments, whereas use of nargin would need to change for input and verbose.

I find this useful -- I hope others do too! :-)

Cite As

Ged Ridgway (2024). Default arguments (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R14SP3
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Entering Commands in Help Center and MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes