Мультимедиа: геометрия, графика, кино, звук


Пример 3



Пример 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 полиномов Чебышева.








Начало  Назад  Вперед



Книжный магазин