сгиб

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

Синтаксис

fold(fun,v)
fold(fun,v,defaultVal)

Описание

пример

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

Входные параметры

свернуть все

Функция раньше сворачивала вектор, заданный как указатель на функцию.

Пример: @or

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

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

Смотрите также

|

Введенный в R2017b