Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
default.doc
Скачиваний:
10
Добавлен:
14.09.2019
Размер:
231 Кб
Скачать
☆
  1. Mathematica. Конструкции, управляющие ходом вычисления

Table[ChebyshevT[n,x],{n,1, 4}]

{x, -1 + 2 x2, -3 x + 4 x3, 1 - 8 x2 + 8 x4}

недостаточно в аргументах функции Plot указать функцию, вычисляющую уравнения этих кривых. Plot[Table[ChebyshevT[n,x],{n,1,4}],{x,-1,1}]

General: :stop : Eurther output of Plot: :plnr will be suppressed during this calculation. More..

Символ Plot имеет атрибут HoldAll, аргументы этой функции не вычисляются, и система вернет пустой график, предупредив пользователя сообщением.

Функция Plot требует либо задания функций списком готовых уравнений, либо использования функции Evaluate для вычисления этих уравнений.

Изменять стандартный порядок вычисления выражения можно также при помощи встроенных функций пакета Unevaluated, Hold, Hold-Form, HoldPattern, HoldComplete. Например, чтобы записать частичную сумму ряда, используем чистую функцию и функцию HoldForm

  1. Mathematica. Управляющие структуры выбора

Структуры выбора в Mathemaica представлены условными операто­рами, разветвляющими поток управления. Условный оператор позволяет выбирать различные пути вычисления в программе в зависимости от значения некоторого логического выражения.

Основная структура выбора - условный оператор If. Его полная форма

If[test, then, else, unknown]

Помимо полной формы, этот оператор используется в сокращенных версиях:

  • If[test, then]

  • If[test, then, else]

Оператор If [test, then] вычисляет выражение then в случае истинно­сти выражения test и возвращает Null в случае, когда значение логиче­ского выражения test является ложным. Оператор в таком виде употреб­ляют, когда нужно либо производить или не производить некоторое дей­ствие.

Форма If[test, then, else] вычисляет выражение then в случае истин­ности выражения test, в противном случае вычисляется выражение else. Эта конструкция дает выбор между двумя альтернативными действиями.

И, наконец, полная форма (26) оператора If выражения предусмат­ривает обработку варианта, когда значение выражения test отлично от значений true и false.

В Mathematica нет ограничений на тип выражений, входящих в ус­ловный оператор. Таким образом, внутри конструкции выбора может также находиться другой оператор If. Такие структуры называют вло­женными управляющими структурами (nested control structure). Такими структурами вполне можно обходиться, но в системе существуют специ­альные структуры выбора с многочисленными ветвями Which и Swich.

Оператор Which [testi, expression!, ..., testn, expression^

имеет четное число аргументов, среди которых п тестов и п выражений, подлежащих вычислению. При вычислении этой структуры последова­тельно вычисляются выражения testi, i=l, k-1 до тех пор, пока не най­дется testk, имеющее значение True. В случае, когда такое условие testk существует, выполняется следующее за ним выражение expression^ Если же все testi имеют значение False, то результат выполнения оператора -значение Null. Если при проверке testi имеет не булево значение, опера­тор Which остается не вычисленным. Иногда, когда есть вероятность прохождения всех тестов на False, удобно иметь сообщение о создав­шейся ситуации. Для этого последним тестом записывается True, а сле­дующее за ним выражение содержит сообщение о ситуации. Конструкция

Switch [expression, рапегпь expression!, patternn, expression^ дает ветвление или выбор не в результате выполнения условия, а после проверки на соответствие выражения expression образцам pattern^ При этом вычисляется выражение, стоящее за первым из образцов, которому соответствует исходное выражение. Если expression не соответствует ни одному из образцов, возвращается не вычисленное выражение с головой Switch. Если в этой ситуации последним указать образец, то будет вычислено выражение, следующее за ним.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]