Multiple assignment
The function arg2vars serves for assigning of values from input argument(s) to variables declared in the output list in the place of
the function calling. Not assigned output variables are empty, while superfluous arguments are cut to a number of output variables. Number of allocated items is a minimum out of number of input arguments and number of output variables.
SYNTAX:
[var1,...,varn] = arg2vars(x)
% x A single input argument. It can be a vector or a matrix of consistent elements, or a cell array of items. Elements of matrices will be stored columnwise.
% [var1,...] List of names of output parameters. If length of the list were greater than the number of items in x, superfluous variables become empty. In turn, only such a number of argument items is used to fill all variables in the list. No errors or warnings are displayed.
[var1,...,varn] = arg2vars(x1,...,xm)
% x1,...,xm list of arguments (scalars, matrices, arrays, texts, etc.)
EXAMPLES:
[a,b,c,d,e,f] = arg2vars(-1.234, 'abcde', [1,exp(1),pi], 1:5, eye(3))
% a = -1.2340
% b = abcde
% c = 1.0000 2.7183 3.1416
% d = 1 2 3 4 5
% e = 1 0 0
% 0 1 0
% 0 0 1
% f = []
[a,b,c,d] = arg2vars({'ABC','DEFG','HIJK'})
% a=A, b=B, c=C, d=D, e=E, f=F
[a,b,c] = arg2vars({{'ABC'},{'DEFG'}})
% a = [{1x1 cell}, {1x1 cell}]
% b = [], c = []
% a{:}(2) = 'DEFG', a{:}{2} = DEFG
[a,b,c] = arg2vars({{'ABC'}},{{'DEFG'}})
% a = {1x1 cell}, a{:} = 'ABC'
% b = {1x1 cell}, b{:} = 'DEFG'
% c = []
[a,b,c] = arg2vars(zeros(1,5),pi,{{'a','bcd','e'}},0);
% a = 0 0 0 0 0
% b = 3.1415926...
% c{:} = 'a' 'bcd' 'e'
[E,b,c,sfa,efa,na,Ka,Nc,sc,w,ec,Nb,t,sigv,DL,D,Nz,ssq,flag,figh] = arg2vars({repmat([],1,30)});
% Defines all variables empty
Citation pour cette source
Miroslav Balda (2024). Multiple assignment (https://www.mathworks.com/matlabcentral/fileexchange/23125-multiple-assignment), MATLAB Central File Exchange. Extrait(e) le .
Compatibilité avec les versions de MATLAB
Plateformes compatibles
Windows macOS LinuxCatégories
- MATLAB > Programming > Functions > Variables >
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Découvrir Live Editor
Créez des scripts avec du code, des résultats et du texte formaté dans un même document exécutable.
Version | Publié le | Notes de version | |
---|---|---|---|
1.0.0.0 |