mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-12-08 20:38:47 +00:00
Added matlab code samples.
All of these code samples currently are mis-identified in my repositories. I'm donating them to the cause.
This commit is contained in:
37
samples/Matlab/varargin_to_structure.m
Normal file
37
samples/Matlab/varargin_to_structure.m
Normal file
@@ -0,0 +1,37 @@
|
||||
function options = varargin_to_structure(arguments)
|
||||
% function options = varargin_to_structure(arguments)
|
||||
% Returns a structure from a cell array of pairs.
|
||||
%
|
||||
% Parameters
|
||||
% ----------
|
||||
% arguments : cell array (1, n)
|
||||
% A cell array where n is an even number greater than or equal to 2. The odd
|
||||
% cells must be a character string and the even cells can be any data type.
|
||||
%
|
||||
% Returns
|
||||
% -------
|
||||
% options : structure
|
||||
% The fields of the structure correspond to the odd cells in the array and
|
||||
% the value for that field corresponds to the even cells.
|
||||
%
|
||||
% This is useful for functions that have varargin as an input where the
|
||||
% variable inputs are keyword pairs.
|
||||
|
||||
% make sure there are enough arguments
|
||||
if length(arguments) <= 1
|
||||
error('Please supply 2 or more arguments')
|
||||
end
|
||||
|
||||
% make sure they provided and even number of inputs
|
||||
if mod(length(arguments), 2) ~= 0
|
||||
error('There must be an even numbers of arguments')
|
||||
end
|
||||
|
||||
% store the values in the structure
|
||||
for i = 1:2:length(arguments)
|
||||
% make sure they have character strings as all the odd cells
|
||||
if ~ischar(arguments{i})
|
||||
error('The odd arguments must be character strings.')
|
||||
end
|
||||
options.(arguments{i}) = arguments{i + 1};
|
||||
end
|
||||
Reference in New Issue
Block a user