Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
pract_math_11.doc
Скачиваний:
1
Добавлен:
16.11.2019
Размер:
326.66 Кб
Скачать

ПРАКТИЧЕСКИЕ ЗАНЯТИЯ ПО ОСВОЕНИЮ

КОМПЬЮТЕРНОЙ СИСТЕМЫ

MATHEMATICA

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 11

Стандартные пакеты расширения системы Mathematica

Пакеты расширения системы Mathematica (Add-ons) являются наборами файлов с расширением .m, написанными на языке программирования системы и объединенными под именами соответствующих пакетов. Пакеты расширения добавляют в систему ряд функций, которые отсутствуют в ядре системы. Они не требуют отдельной инсталляции, но перед использованием их средств пакеты надо объявлять. Для загрузки ядра пакета и доступа ко всем его функциям применяется команда <<Dir` (Dir – название пакета).

Перечислим стандартные пакеты расширения системы Mathematica:

  • Algebra – содержит функции для работы с неравенствами, ограничительными полями и полиномами (для открытия пакета используется команда <<Algebra`).

  • Calculus – содержит функции для решения дифференциальных уравнений, задания функции Дирака, выполнения операций с векторами, преобразований Фурье и Лапласа, выполнения спектрального анализа и синтеза, расширенного вычисления пределов и проведения аппроксимаций аналитических функций (для открытия пакета используется команда <<Calculus`).

  • Discrete Mathematics – задает набор функций дискретной математики, в частности функции комбинаторики и функции, предназначенные для работы с графами (для открытия пакета используется команда <<DiscreteMath`).

  • Geometry – содержит функции, относящиеся к построению регулярных полигонов на плоскости и полиэдров в пространстве, а также функции, задающие вращение фигур на плоскости и в пространстве (для открытия пакета используется команда <<Geometry`).

  • Graphics – содержит функциональные средства для построения и обработки различных графических объектов (для открытия пакета используется команда <<Graphics`).

  • Linear Algebra – содержит функции, предназначенные для решения сложных задач линейной алгебры (для открытия пакета используется команда <<LinearAlgebra`).

  • Miscellaneous – содержит функции, позволяющие синтезировать звуки и получать справочную и графическую информацию самого общего вида, например по физике, химии, географии и т. д. (для открытия пакета используется команда <<Miscellaneous`).

  • Number Theory – содержит функции, реализующие алгоритмы теории чисел (для открытия пакета используется команда <<NumberTheory`).

  • Numerical Mathematics – содержит большое количество функций для проведения численных расчетов, например функции для выполнения высокоточных аппроксимаций рациональными функциями, численного интегрирования и дифференцирования, вычисления пределов функций, решений уравнений, разложений в ряд и т. д. (для открытия пакета используется команда <<NumericalMath`).

  • Statistics – содержит функции теоретической и прикладной статистики (для открытия пакета используется команда <<Statistics`).

  • Utilities – содержит небольшие программы (утилиты) вспомогательного назначения, предназначенные для работы с файлами и памятью компьютера (для открытия пакета используется команда <<Utilities`).

Каждый из перечисленных пакетов расширения системы Mathematica содержит достаточно большое количество подпакетов. Например, стандартный пакет Algebra включает десять подпакетов, в частности AlgebraicInequalities, FiniteFields и т. д. Для объявления подпакета используется конструкция <<Dir`Package` (Dir – имя пакета; Package – имя подпакета). Загрузку подпакета целесообразно проводить в случае, если необходимо получить доступ только к отдельным функциям пакета расширения.

Заметим, что получить справочную информацию о функциях какого-либо пакета расширения можно только после загрузки ядра этого пакета.

Задание № 11.1

С помощью функции InequalitySolve пакета расширений Algebra найдите решения неравенства и системы неравенств:

Вариант

Неравенство и система неравенств

Вариант

Неравенство и система неравенств

1

,

7

,

2

,

8

,

3

,

9

,

4

,

10

,

5

,

11

,

6

,

12

,

Задание № 11.2

Одним из средств визуализации результатов решения практических задач является анимация двумерных и трехмерных графиков. Для осуществления анимации используются функции подпакета Animation пакета Graphics, в частности Animate[gr,{t,tmin, tmax,dt}] и ShowAnimation[{gr1,gr2,…}]. Первая из них задает построение серии графических объектов gr при изменении параметра t от tmin до tmax с шагом dt, вторая – выполняет анимацию последовательным воспроизведением ранее подготовленных объектов gr1,gr2,….

При задании анимации целесообразно использовать опцию РlotRange, чтобы задать фиксированный масштаб для всех кадров анимации, иначе система для каждого кадра будет менять масштаб для наиболее оптимального представления графика. Число кадров анимации не должно быть меньше 8 ‑ 10, в противном случае вместо плавного движения будут видны резкие скачки изображения.

Для наблюдения анимации следует двойным щелчком выделить первый рисунок. Остановить и снова запустить анимацию можно нажатием клавиш Ctrl+Y или с помощью кнопок анимационного проигрывателя.

Загрузите ядро пакета расширения Graphics.С помощью функции Animate этого пакета осуществите анимацию графика функции при изменяющемся от -1.5 до 1.5 с шагом 0.1 (аргумент принадлежит отрезку [-5; 5]). При подготовке кадров анимации в аргументе функции Plot задайте опции PlotRange{-2;2} и AxesFalse. После того, как будет выполнена генерация всех кадров анимации, щелкните дважды мышкой по скобке, объединяющей все графические объекты. Это позволит сгруппировать ячейки с кадрами анимации таким образом, чтобы видимой осталась ячейка с первым кадром. Для запуска анимации щелкните дважды мышкой по этому рисунку. После выполнения анимации нажмите кнопку «Cyclic» анимационного проигрывателя (это позволит наблюдать равномерную смену кадров). Чтобы остановить смену кадров достаточно щелкнуть мышкой в любом месте документа.

Выполните анимацию поверхности, описываемой функцией синуса, аргумент которой меняется от кадра к кадру. Для этого предварительно сформируйте графический массив surf, состоящий из кадров анимации. Это можно сделать с помощью функции Table[expr,{t,1,4,0.1}]. Здесь в качестве входного параметра expr выступает функция Plot3D с аргументом (переменные и принадлежат отрезку [-2; 2]). Чтобы не выводить на экран полученные графические объекты используйте опцию DisplayFunctionIdentity. Кроме этой опции, задайте PlotRangeAll, AxesFalse и PlotPoints{60,60}, чтобы обеспечить оптимальное представление кадров анимации. Следующий шаг анимации – исполнение функции ShowAnimation с аргументом surf. В результате на экране последовательно появятся все кадры анимации. Запуск анимации выполните аналогично тому, как это описано выше.

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