- •Пакет прикладных программ mathematica
- •2. Точные и приближенные вычисления. Численные и аналитические операции
- •3. Рабочий документ и ячейки. Основные команды
- •4. Сеанс работы в системе Математика. Глобальный характер данных
- •5. Правила написания. Основные встроенные функции
- •Примеры выражений
- •Формы обращений к функциям
- •Нескольких аргументов
- •6. Функции комплексного аргумента
- •Логические операторы
- •7. Циклические операции
- •7.1. Цикл For
- •7.2. Цикл While
- •7.3. Цикл Do
- •7.4. Функция If
- •7.5. Логические выражения
- •8. Функции пользователя. Составление программ
- •8.1. Функции пользователя. Описания типов аргументов
- •8.2. Немедленное и задержанное присваивание
- •8.3. Альтернативные определения функций
- •8.4. Составление программ. Глобальные и локальные переменные
- •8.5. Прерывание вычислений
- •9. Списки
- •9.1. Создание списков. Обращение к элементам списков
- •9.2. Преобразование списков
- •9.3. Матричные функции
- •10. Массивы
- •11. Основные типы графиков
- •11.1. Двумерные графики
- •Show[GraphicsRow[{g1, g2,…}], options]
- •11.3. Изображения трехмерных объектов
- •11.4. Анимация
- •12. Функция Manipulate
- •13. Аналитические операции. Интерполяция. Решение уравнений
- •13.1. Аналитические операции
- •13.2. Интерполяция
- •13.3. Решение алгебраических уравнений
- •13.4. Решение дифференциальных уравнений
- •14. Преобразование выражений
- •14.1. Стандартная форма выражений
- •Примеры выражений
- •14.2. Обращение к элементам выражений
- •14.3. Представление выражения в виде дерева
- •14.4. Операции преобразования выражений
- •14.5. Повторное выполнение операций
- •14.6. Анонимные функции
- •14.7. Функциональные операторы Outer и Inner
- •Вопросы для повторения
- •Упражнения
11.4. Анимация
Пакет Математика позволяет “оживлять” построенные графики; для этого нужно выделить их и выбрать команду менюGraphics – Rendering – Animate Selected Graphics (Ctrl+Y). Графики будут поочередно сменять друг друга на экране монитора. При анимации может оказаться полезной команда выравнивания графиков: Graphics – Rendering – Align Selected Graphics.
Другой способ построения анимированных объектов – использование функции Animate.
Функция Animate[expr, {u, umin, umax}] создает анимацию выражения expr, в котором параметр u меняется от umin до umax. Может быть указан шаг изменения параметра: {u, umin, umax, du}. При этом выражение expr может быть любым, не обязательно рисунком.
Пример 11.8. Команда
In[ ]:= Animate[{n, Prime[n]}, {n, 1, 50, 1}]
выводит на экран поочередно простые числа вместе с порядковым номером числа.
Пример 11.9. Написанная ниже программа выводит на экран анимированный график – катящееся колесо. Точка обода колеса вычерчивает циклоиду. Один из кадров графика показан на рис. 11.10.
In[ ]:= tp=0.2; Animate[ ParametricPlot[
{ {Cos[Pi/2-t*4Pi]+4Pi*tp, Sin[Pi/2-t*4Pi]+1}, (*Колесо *)
{Cos[Pi/2-t*4Pi*tp]+4Pi*t*tp, Sin[Pi/2-t*4Pi*tp]+1}, (*Циклоида*)
{4Pi*tp+Cos[Pi/2-4Pi*tp]*t, 1+Sin[Pi/2-4Pi*tp]*t}, (*Радиус*)
{-1+t*(4Pi+2), 0} , (*Рельс*)
{0, t*2.5} (*Начало координат*)
}, {t, 0, 1},
AspectRatio -> Automatic, PlotRange -> All ],
{tp, 0, 1, 0.01}, AnimationRunning -> False]
Опция AnimationRunning -> False означает, что анимация выводится на экран в состоянии паузы.
12. Функция Manipulate
ФункцияManipulate[expr, {u, umin, umax}] позволяет ввести в выражение expr элемент управления, дающий возможность изменять это выражение в диалоговом режиме. Выражение может быть произвольным. Оно может включать вычислительные или аналитические операции, может также описывать графики.
Пример 12.1. Построим график колебаний с линейной частотной модуляцией, с возможностью изменения коэффициента модуляции. Для этого напишем команду:
In[ ]:= Manipulate[Plot[Sin[x (1 + a x)], {x, 0, 2Pi}],
{a, 0, 1.}]
Выполнив команду, увидим график синусоиды и над ним полосу прокрутки с движком в начальном левом положении. С помощью полосы прокрутки можно изменять значение параметраа. Щелкнув на знаке “+” в конце полосы прокрутки, откроем дополнительные диалоговые элементы: окно с текущим значением параметра а и кнопки управления. Окончательный вид графика показан на рис. 12.1. Щелкнув мышкой на черном треугольнике, включим анимацию: значение папраметра будет автоматически меняться от 0 до1.
Команда Manipulate[expr, {u, umin, umax, du}] вводит в выражение expr элемент управления, который можно изменять в пределах от umin до umax с шагом du.
Пример 12.2. Напишем команду, позволяющую вывести на экран формулы бинома Ньютона степени от 0 до 10:
In[ ] := Manipulate[Expand[(x+y)^n], {n, 0, 10, 1}]
Результат работы команды показан на рис. 12.2. В окне видим степень бинома. Кнопки “+” и “–” позволяют увеличивать и уменьшать степень. Щелкнув на черном треугольнике, запустим анимацию – автоматическое изменение степени. Остальные три кнопки позволяют менять скорость и направление автоматического изменения степени.
КомандаManipulate[expr, {u, {u1, u2, …}}] вводит элемент управления, который принимает заданные значения u1, u2, ….
Команда Manipulate[expr, {u, …}, {v, …}, …] вводит несколько элементов управления.
Пример 12.3. Напишем команду для построения фигур Лиссажу:
In[ ] := Manipulate[ParametricPlot[{Cos[m x], Sin[n x]},
{x, 0, 2Pi}], {m,{1, 3, 5}}, {n, {1, 2, 3, 4, 5}}]
Результат выполнения команды показан на рис.12.3. Выбрать нужное значение параметра можно, щелкнув на соответствующей кнопке. Можно также включить автоматический просмотр всех фигур, щелкнув на знаке “+” и запустив команду autorun.