У меня есть модуль, который генерирует n
-й полином Тейлора для функции:
taylor[n_, a_] :=
Module[{terms = {f[0]}},
Do[AppendTo[
terms, (D[f[x], {x, i}] /. x -> a)/Factorial[i]*(x - a)^i], {i, 1,
n}]; Return[Plus @@ terms]]
Теперь я хочу вызвать эту функцию так, чтобы она генерировала список полиномов. Это работало нормально с единичным аргументом и Map
с Range
. Тем не менее, при попытке Thread
модуль выглядит так:
Thread[taylor[Range[7], 0]]
Я получаю ошибку, что
Итератор {i, 1, {1,2,3,4, 5,6,7}} не имеет соответствующих границ.
т.е. n
оценивается не так, как я думал, например:
{taylor[1,0], taylor[2,0], ...}
Я мог бы изменить реализацию модуля, но я не знаю, почему Thread
ведет себя не так, как ожидалось.