Здесь построены графики первых четырех
Пример 3
Здесь построены графики первых четырех полиномов Чебышева первого рода: ChebyshevT[0, x] — полином нулевого порядка, равный тождественно единице, ChebyshevT[l,x] = х, а также полиномы ChebyshevT[2,z] и ChebyshevT[3,x]. Но вот так график построить не удастся.
list01={ChebyshevT[0,x],ChebyshevT[1,х],ChebyshevT[2,х],ChebyshevT[3,x]} {1, х, -1 + 2х2, -Зх + 4х3} Plottlist0l,{х,-1,1}]; Plot::plnr: list0l is not a machine-size real number at x =-1.. More...
Оказывается, система Mathematica не может вычислить значения list01! Почему? Потому что функция Plot имеет атрибут HoldAll.
Attributes[Plot] {HoldAll,Protected)
Этот атрибут указывает, что аргументы функций вычисляться не должны. Обычно аргументы функций вычисляются.
hh[1+2,2+3,3+4] hh[3,5,7]
Но если функции приписать атрибут HoldAll, вычисления аргументов выполняться не будут.
SetAttributes[hh,HoldAll] hh[l+2,2+3,3+4] hh[l+2,2+3,3+4]
Чтобы в таких случаях выполнить вычисления, можно использовать функцию Evaluate. Выражение Plot [Evaluate [list0l], {x,-l, 1} ]; строит предыдущий график без проблем. Ниже построены графики 8 полиномов Чебышева.