
- •5 Mathematica. Назначение Ядра пакета. Понятие сессии.
- •6 Mathematica. Главный цикл пакета.
- •Mathematica. Формы представления выражения.
- •Mathematica. Структура выражения. Функции, ее определяющие
- •Mathematica. Назовите не менее пяти видов выходных форматов выражения.
- •Mathematica. Атомарные объекты, входной формат и полная форма каждого вида
- •Mathematica. Функции-конверторы, позволяющие преобразовывать тип атомарных объектов.
- •Mathematica. Функции, определяющие свойства атомарных объектов.
- •Mathematica. Встроенные константы и предопределенные переменные пакета.
- •Mathematica. Оператор Apply и семейство операторов Map.
- •Mathematica. Укажите четыре формы записи функций.
- •Mathematica. Чистые и анонимные функции.
- •Mathematica. Построение функции пользователя.
- •Mathematica. Что такое образцы и где они используются. Проверка на соответствие образцу
- •Mathematica. Семейство Set функций.
- •Mathematica. Организация справочной системы
- •Mathematica. Именование образца и его части. Примеры
- •Mathematica. Образцы, соответствующие условию. Примеры
- •Mathematica. Образцы, содержащие альтернативу. Примеры
- •Mathematica. Функции добавления, извлечения, удаления элементов из списков
- •Mathematica. Операции над списками как над множествами.
- •Mathematica. Изменение структуры списка
- •Mathematica. Функции Inner и Outer работы со списками
- •Mathematica. Стандартныей порядок вычисления выражения
- •Mathematica. Как можно изменить стандартный порядок вычисления выражения
- •Mathematica. Конструкции, управляющие ходом вычисления
- •Mathematica. Управляющие структуры выбора
- •Mathematica. Управляющие структуры повторения
- •Mathematica. Обработка аварийного (намеренного) выхода из упарвляющих конструкций
- •Mathematica. Двумерные графический примитивы
- •Mathematica. Трехмерные графические примитивы
- •Mathematica. Построение матриц и операции над ними, особенности.
- •Mathematica. Преобразование алгебраических выражений.
- •Mathematica. Решение уравнений и систем.
- •Mathematica. Функции двумерной графики, их опции.
- •Mathematica. Функции трехмерной графики, их опции.
Mathematica. Образцы, соответствующие условию. Примеры
В Mathematica можно описывать множества выражений путем построения необходимых логических высказываний. Для этого используют встроенную функцию Condition. Ее инфиксная операторная форма /;. Выражение Pattern /; Condition. читается так: «выражение, соответствующее образцу Pattern, вычисляется в случае, когда выражение Condition истинно». Некоторые примеры построения образцов:
х_/; NumberQ[x] некоторое число
х_ /; NumberQ[x]&&Im[x]=0 некоторое вещественное число
xList /; VectorQ[x] вектор, не содержащий подсписков
xList /; VectorQ[x,NumberQ] вектор с элементами-числами
xList /; MatrixQ[x] матрица, не содержащая подсписков
xList /; MatrixQ[x,NumberQ] матрица чисел
Условие может указываться в различных местах: или в момент оп¬ределения образца, или в момент его использования. Factorial[n_Integer /; n > 0] := n! Factorial[n_Integer] := n!/; n > 0
Mathematica. Образцы, содержащие альтернативу. Примеры
Если множество описываемых выражений не укладывается в один образец, используют несколько образцов, объединяя их в один при помощи функции Alternatives. Это многоместная функция, ее операторная инфиксная форма имеет вид вертикальной черты |. Образцы, построенные таким образом, называют образцами, содержащими альтернативу. Такие образцы записывают в форме Patterni | Pattern2 | ... | Patternk Например, определим функцию ff ClearAll[ff] ff[x:(_Integer|_Rational|_Complex)]:= Log[x]/;Positive[x]
Она вычисляет логарифм от выражений с головой либо Integer, либо Rational, либо Complex при условии, что они положительны
Выражение л имеет голову Symbol и поэтому не может быть вычислено функцией ff. Воздействие булевой функции Positive на выражение 7+i дает значение False, и, следовательно, выражение 7+i также не вычисляется по правилу ff.
Mathematica. Установка значений аргументов функции по умолчанию. Примеры
При создании функций ее аргументы можно задавать по умолчанию, используя конструкцию вида х : Value, которая читается следующим образом: «произвольное выражение, именуемое в дальнейшем х, и, если его значение не указано, принимающее значение Value».
Mathematica. Использование в образцах встроенных по умолчанию значений. Примеры
Если при определении функции указать аргумент в виде function[x_Head?Test:Value], то в момент вызова функции в случае отсутствия этого аргумента произойдет присваивание ему значения по умолчанию Value. fun [х_, у_:1, z_:2] : = р[х, у, z]
fun[а]
р [а, 1, 2]
fun[b, с]
Р [Ь, с, 2]
Mathematica. Функции, осуществляющие поиск выражений, соответствующих образцу
Если при определении функции указать аргумент в виде function[x_Head?Test:Value], то в момент вызова функции в случае отсутствия этого аргумента произойдет присваивание ему значения по умолчанию Value.
fun [х_, у_:1, z_:2] : = р[х, у, z]
fun[а]
р [а, 1, 2]
fun[b, с]
Р [Ь, с, 2]
Mathematica. Функции порождения списков
Списком называют выражение, имеющее голову List. Оператором, конструирующим список, являются фигурные скобки. Элементы списка - также выражения - записываются в скобках через запятую. Возможно существование пустого списка List[ ], или { }.
В системе существует несколько функций, порождающих списки: Range, Table, Array.
Функция Range может иметь один, два или три аргумента. В случае задания одного аргумента функция Range [п] определена только на атомарных объектах с головой Integer, Rational, Real. При этом если n < 1, возвращается пустой список, в противном случае генерируется список натуральных чисел от 1 до значения целой части числа п.
Range [#] &/@{1, 7/3, 3.2, i, "as", х, -5}
{{1}, {1,2}, {1,2,3},Range[i],Range[as],Range[x],{}}
Функция Table позволяет генерировать списки, устроенные более сложно. Table [expression, {п}] возвращает список, состоящий из п значений одного и того же вычисленного выражения expression. Общий вид функции
Table[expression(i, j, k), iterator^ iterator^ iterator^.
Она возвращает вложенные списки значений выражения ехрг при каждом фиксированном значении каждой локальной переменной. При указании нескольких итераторов порождается вложенный список. Уровень вложенности списка равен количеству итераторов.
Функция Array[f, n] порождает одномерный список длины n, или вектор с элементами f[i], i = 1, n. Если второй аргумент имеет вид { m, n }, то результат - вложенный список уровня 1, или матрица, или двумерный массив с элементами f [i, j], где i = 1, ..., m, j = 1, .., n.
Array[a, {2, 3}]
{{a[l, 1] , a[l, 2] , a[l, 3] }, {a[2, 1] , a[2, 2] , a[2, 3] }}