| MATLAB Function Reference | ![]() |
Syntax
Description
[Y1,Y2,Y3,...] = deal(X)
copies the single input to all the requested outputs. It is the same as Y1 = X, Y2 = X, Y3 = X, ...
[Y1,Y2,Y3,...] = deal(X1,X2,X3,...)
is the same as Y1 = X1; Y2 = X2; Y3 = X3; ...
Remarks
deal is most useful when used with cell arrays and structures via comma separated list expansion. Here are some useful constructions:
[S.field] = deal(X)
sets all the fields with the name field in the structure array S to the value X. If S doesn't exist, use [S(1:m).field] = deal(X).
[X{:}] = deal(A.field)
copies the values of the field with name field to the cell array X. If X doesn't exist, use [X{1:m}] = deal(A.field).
[Y1,Y2,Y3,...] = deal(X{:})
copies the contents of the cell array X to the separate variables Y1,Y2,Y3,...
[Y1,Y2,Y3,...] = deal(S.field)
copies the contents of the fields with the name field to separate variables Y1,Y2,Y3,...
Examples
Use deal to copy the contents of a 4-element cell array into four separate output variables.
C = {rand(3) ones(3,1) eye(3) zeros(3,1)}; [a,b,c,d] = deal(C{:}) a = 0.9501 0.4860 0.4565 0.2311 0.8913 0.0185 0.6068 0.7621 0.8214 b = 1 1 1 c = 1 0 0 0 1 0 0 0 1 d = 0 0 0
Use deal to obtain the contents of all the name fields in a structure array:
A.name = 'Pat'; A.number = 176554; A(2).name = 'Tony'; A(2).number = 901325; [name1,name2] = deal(A(:).name) name1 = Pat name2 = Tony
| ddeunadv | deblank | ![]() |