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