Распределите входы к выходам
Примечание
В большинстве случаев вам не нужно deal функция. Вместо этого используйте индексацию массивов и разделенные списками , разделенными запятыми при доступе к содержимому массивов ячеек и полям структуры, как показано на этих синтаксисах.
[A1,...,An] = C{:}
[B1,...,Bn] = S(:).field
Для получения дополнительной информации см. Разделенные списками , разделенными запятыми.
Однако в нескольких случаях deal может быть полезным, когда вам нужно несколько выходов от операции, которая обычно возвращает один вывод. Для примера можно использовать deal кому:
Присвойте значения нескольким камерам массива ячеек.
Присвойте значения полю нескалярного массива структур.
Возвращает несколько выходы от анонимной функции.
[ копирует входные параметры B1,...,Bn] = deal(A1,...,An)A1,...,An и возвращает их в качестве выходных аргументов B1,...,Bn. Это то же, что и B1 = A1, …, Bn = An. В этом синтаксисе количество входа и выходных аргументов должно быть одинаковым.
[ копирует один входной параметр B1,...,Bn] = deal(A)A и возвращает его как выходные аргументы B1,...,Bn. Это то же, что и B1 = A, …, Bn = A. В этом синтаксисе можно задать произвольное количество выходных аргументов.
Чтобы преобразовать массив ячеек в массив структур или массив структур в массив ячеек, используйте cell2struct и struct2cell функций, не deal.
cell | cell2struct | function_handle | struct | struct2cell