exponenta event banner

сгиб

Объединение (сворачивание) вектора с помощью функции

Описание

пример

fold(fun,v) сгибы v с помощью fun. То есть fold требования fun по первым двум элементам v, а затем многократные вызовы fun по результату и следующему элементу до последнего элемента объединяют. Программно операция сворачивания fold(fun,v) = fun(fold(fun,v(1:end-1)),v(end)).

пример

fold(fun,v,defaultVal) возвращает значение defaultVal если v пуст.

Примеры

Сворачивание вектора с помощью функции

Сложите вектор символьных переменных с помощью power функция. Выходные данные показывают, как fold объединяет элементы вектора слева направо с помощью указанной функции.

syms a b c d e
fold(@power, [a b c d e])
ans =
(((a^b)^c)^d)^e

Предположим, что переменная принадлежит набору значений

Предположим, что переменная x принадлежит набору значений 1, 2,..., 10 путем применения or к условиям x == 1, ..., x == 10 использование fold. Проверьте, что допущение установлено с помощью assumptions.

syms x
cond = fold(@or, x == 1:10);
assume(cond)
assumptions
ans =
x == 1 | x == 2 | x == 3 | x == 4 | x == 5 |...
 x == 6 | x == 7 | x == 8 | x == 9 | x == 10

Задание значения по умолчанию для операции гибки

Укажите значение по умолчанию fold если входные данные пусты путем указания третьего аргумента. Если третий аргумент не указан, а входные данные пусты, то fold выдает ошибку.

При создании функции для суммирования вектора укажите значение по умолчанию, равное 0, так что функция возвращает 0 когда вектор пуст.

sumVector = @(x) fold(@plus, x, 0);
sumVector([])
ans =
     0

Входные аргументы

свернуть все

Функция, используемая для сворачивания вектора, заданная как дескриптор функции.

Пример: @ или

Вектор для сворачивания, заданный как вектор, символьный вектор или вектор ячейки. Если элемент v является символической функцией, то формула символической функции используется при вызове formula.

Значение по умолчанию операции гибки, указанное как число, вектор, матрица или многомерный массив, или символическое число, переменная, вектор, матрица, многомерный массив, функция или выражение.

См. также

|

Представлен в R2016b