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