Deal inputs to outputs
Syntax
[Y1,Y2,Y3,...] = deal(X)
[Y1,Y2,Y3,...] = deal(X1,X2,X3,...)
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
[ Previous | Help Desk | Next ]