С помощью функции deal возможно множественное присваивание входных данных выходным:
[A.B,C,...]=deal(X,Y,Z,...) — обеспечивает последовательное присваивание входных данных выходным, то есть А=Х, B=Y, C=Z и т. д.;
[A,B,C....]=deal(X) — присваивает единственный вход всем выходам, т. е. А=Х, В=Х, С=Х и т. д.
Возможен ряд полезных применений функции deal:
[S.FIELD]=deal (X) — присваивает всем полям FIELD структуры S значения X. Если S не существует, то нужно использовать конструкцию [S(1:M)*.FIELD]= deal(X);
[X{:}]=dea1 (A. FIELD) — копирует поля FIELD структуры А в массив ячеек X. Если X не существует, следует использовать конструкцию [X{1:M}]=deal (A.FIELD);
[A,B,C,...]=deal (X{:}) — копирует содержимое массива ячеек X в отдельные переменные А, В, С,...;
[A,B,C,...]=deal(S.FIELD) — копирует содержимое поля FIELD массива структур S в отдельные переменные А, В, С,...;
Следующий пример иллюстрирует применение функции deal:
» [X,Y.Z]=deal(1,2+3i,'Привет!')
X =
1
Y =
2.0000.+ 3.0000i
Z =
Привет!
» [X Y Z]=dealС Привет!')
X =
Привет!
Y =
Привет!
Z =
Привет!