Often one desires to write a function that takes a large number of optional arguments. One way to do this is to allow for an arbitrary number of option name-value pairs in the function argument:
function r = f(a,b,c,name1,value1,...)
This method has the advantages of:
1) Allowing those using the function to specify options without needing to check the position of the option in a long list of arguments.
2) Allowing for options to have default values that need not be specified each function call.
3) Eliminates the need to deal with empty values passed for unspecified options.
loadOptions is an easy-to-use function designed to aide in writing functions taking option name/value pairs. It converts the list of name/value pairs into an easily usable options struct (a la optimset). It allows for option defaults.
And, unlike typical MATLAB syntax, the user may specify data types for each option value, or leave data types untyped, or have some values typed and others untyped.
Please see the help text / example for details on how to use loadOptions when writing a function.
loadOptions was written and tested in R2007b, but it is rather basic and should work with any release that supports varargin and class().