
- •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. Изменение структуры списка
С помощью встроенных функций можно изменить структуру списка: создать в списке дополнительный уровень или, наоборот, уменьшить уровень вложенности списка. Это достигается при помощи функций Partition и Flatten соответственно.
Функция Partition [list, п] разбивает список на подсписки длины п. Если число элементов не кратно п, то оставшиеся k < п элементов удаляется из списка. Использование функции с тремя аргументами Partition [list, n, d] разбивает список на подсписки длины п с отступом d от начала списка. Первый элемент k-того подсписка имеет номер (k-l)d + 1 в исходном списке и так далее. Таким образом, при d < п списки перекрываются, при d > п - элементы (п+1),... ,d не включаются.
Partition [Range [20] , 4, 6]
{{1, 2, 3, 4}, {7, 8, 9, 10}, {13, 14, 15, 16}} Partition[Range[20] , 6, 4]
{{1, 2, 3, 4, 5, б}, {5, б, 7, 8, 9, 10}, {9, 10, 11, 12, 13, 14}, {13, 14, 15, 16, 17, 18}}
Функция Flatten [list, п] уменьшает количество уровней в списке. Она убирает головы List в списках от первого до n-го уровня включительно.
Flatten[{l, {2, {3, 4, {5, 6}}}, {7, 8}}, 2]
{1, 2, 3, 4, {5, 6}, 7, 8}
Если указан третий аргумент Flatten [list, n, head], из всех подвыражений указанных уровней выбираются только выражения с головой head.
Функция Flatten At [list, positions] поднимает на первый уровень выражения, стоящие на указанных позициях positions.
FlattenAt[{l, {2, {3, 4, {5, 6}}}, {7, 8}}, 3]
{1, {2, {3, 4, {5, 6}}}, 7, 8}
Mathematica. Функции Inner и Outer работы со списками
Функция Inner выполняет операцию так называемого обобщенного скалярного произведения. Чтобы понять принцип работы этой функции, рассмотрим подробнее операцию скалярного умножения векторов. При вычислении скалярного произведения векторов используются две операции - умножение соответствующих координат векторов и суммирование полученных произведений. Эти действия можно описать при помощи следующей конструкции
Plus @@ MapThread [Times, {listl, list2}]
Функция Inner обобщает конструкцию. Вместо операций сложения и умножения можно указывать другие функции
gfunction @@ MapThread [ffunction, {listb list2}]
Функция f function должна иметь два аргумента, количество аргументов функции gfunction определяет длина списков listi, list2. Общий вид функции
Inner [ffunction, expression!, expression, gfunction]
Она формирует список - результат действия функции ffunction на соответствующие подвыражения первого уровня выражений expression^ expression, и затем меняет голову List на голову gfunction. Если последний аргумент не задан, по умолчанию головой результата является Plus. Выражения expression^ expression не обязательно должны быть списками, но головы выражений, а также количество их подвыражений первого уровня должны совпадать.
Функция Outer [function, listi, list2, head] применяет функцию function ко всем элементам прямого (декартова) произведения списков и возвращает выражение с головой head. Если четвертый аргумент не указан, вычисленное выражение - список.
Outer[f, {а, Ь}, {х, у, z}]
{{f [а, х] , f[a, у], f [a, z]}, {f [b, x] , f [b, y] , f [b, z]}}
Mathematica. Функции семейства Nest и Fold
Mathematica. Механизм нижних значений
Mathematica. Механизм верхних значений
Mathematica. Как определяются глобальные правила преобразований
Mathematica. Функции семейства Replace
Mathematica. Локальные правила преобразований
Mathematica. Укажите не менее девяти атрибутов, которые можно присвоить функции
Считывается введенная строковая информация.
К введенному тексту применяется функция $PreRead.
Выдается синтаксическое сообщение-предупреждение, если это необходимо.
В случае наличия синтаксической ошибки применяется функция $SyntaxHandler. Если эта функция возвращает $Failed, обработка выражения прекращается.
Формируется объект InString[n], представляющий текстовую форму n-ной входной ячейки. Далее управление передается Ядру:
Применяется функция $Рrе, обрабатывающая каждое входное выражение перед его вычислением.
Создается объект In[n], представляющий п - ную входную строку в виде выражения.
Вычисляется (эволюционирует) выражение.
Применяется функция $Post, обрабатывающая выражение после его вычисления.
10.Создается объект Out[n], представляющий вычисленное выражение.
Снова попадаем в Блокнот:
11.Применяется функция $PrePrint, обрабатывающая вычисленное выражение перед его помещением в выходную ячейку. 12.Создается объект MessageList[n].
13.В выходной ячейке появляется выражение, если от него что-нибудь осталось.
14.Счетчик $Line, указывающий номер текущей выходной ячейки, увеличивается на единицу при вычислении одного выражения.