How to deal with name/value pairs of function arguments in MATLAB

后端 未结 14 1102
忘掉有多难
忘掉有多难 2020-11-28 19:28

I have a function that takes optional arguments as name/value pairs.

function example(varargin)
% Lots of set up stuff
vargs = varargin;
nargs = length(vargs         


        
14条回答
  •  忘掉有多难
    2020-11-28 19:53

    function argtest(varargin)
    
    a = 1;
    
    for ii=1:length(varargin)/2
        [~] = evalc([varargin{2*ii-1} '=''' num2str(varargin{2*ii}) '''']);
    end;
    
    disp(a);
    who
    

    This does of course not check for correct assignments, but it's simple and any useless variable will be ignored anyway. It also only works for numerics, strings and arrays, but not for matrices, cells or structures.

提交回复
热议问题