Files
matlab/parse_myparams.m
jens 9c60c50492 - added
git-svn-id: http://moon:8086/svn/matlab/trunk@156 801c6759-fa7c-4059-a304-17956f83a07c
2022-06-16 06:04:52 +00:00

46 lines
847 B
Matlab

function params = parse_myparams (params_default, arglist)
# Use:
# params = parse_myparams (struct("A", 1, "B", 2), {"B", 42})
# Returns : params = struct("A", 1, "B", 42)
#
% Parse parameters
params = params_default;
names = fieldnames(params);
for k=1:2:length(arglist)-1,
found = false;
for n=1:length(names),
if strcmpi(arglist{k}, names{n})
params.(names{n}) = arglist{k+1};
found = true;
end
end
if ~found
error("Not found!");
endif
end
if nargout == 0
print_parameters(params);
endif
function print_parameters(params)
align = 32;
names = fieldnames(params);
for n=1:length(names),
fprintf('%s', names{n});
remain = align - length(names{n});
if remain < 0
error('Invalid variable length!');
else
for j=1:remain
fprintf(' ');
end
fprintf('= %g\n', params.(names{n}));
end
end
endfunction
endfunction