Объединитесь (сворачивают) вектор с помощью функции
fold(fun,v)
fold(fun,v,defaultVal)
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