Распределите входы к выходам
Примечание
В большинстве случаев вам не нужно 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