Визуализация с помощью Mathematica

Пускай Mathematica зачастую позиционируется как математический пакет, однако возможности оного не ограничиваются решением математических задач. Благодаря интуитивно понятному интерфейсу, визуализация данных становится невероятно простой.

Введение

Для неподготовленного читателя мы подготовили небольшое введение в программирование на Mathematica. Все достаточно просто, однако знать азы жизненно необходимо.

Функции. Все функции начинаются с большой буквы (Пример: Abs), аргументы записываются в квадратных скобках (Пример: Abs[-x]). Все выражения считаются в символьном виде, те результат (y = -2;Abs[y x]) будет (2 Abs[x] ). Так как x не определено ранее, система будет считать выражение в общем виде. Ниже приведен пример, наглядно демонстрирующий этот принцип:

Для очищения переменной используется функция Clear[x].

Экспорт. Для экспорта данный используется специальная функция Export[], которая позволяет сохранить выбранную переменную в соответствующий файл.
Export["ПУТЬ + ИМЯ ФАЙЛ", ПЕРЕМЕННАЯ]. Давайте рассмотрим пример:

Export["sin.png", Plot[Sin[x], {x, 0, 3}]]


2D и 3D графики

Mathematica позволяет строить графики с помощью различного задания входных данных. Подробный список всех функций можно легко найти в справочнике (Help/Documentation center). Мы рассмотрим самые базовые функции:

Plot[Sin[x], {x, -2 Pi, 2 Pi}]

Функция Plot строит график от произвольной функции, которую получает в первом аргументе, при заданных значениях параметра. Важно отметить, что можно передать не одну функцию, а целый список функций, для этого используются фигурные скобки {} (Пример: {Sin[x],Cos[x]}).
Третьим, четвертым, и так далее аргументом передаются параметры отрисовки функции.

Plot3D[Sin[x y], {x, 0, Pi}, {y, 0, Pi}]

Функция Plot3D аналогична функции Plot, однако третьим аргументом требуется задать изменение еще одной координаты.

ContourPlot[x^2 + y^2 - y^3 == 3^2, {x, -5, 5}, {y, -5, 5}]

Важно отметить еще одну функцию для рисования графиков, главное отличие ContourPlot - возможность строить график по множеству точек, которые удовлетворяют заданному равенству. Иными словами, ContourPlot строит функции, заданные в неявном виде ( f(x,y)=0 ).

Создание GIF анимации

v = Table[
   Plot3D[Sin[x y*t], {x, 0, Pi}, {y, 0, Pi}]
   , {t, 1, 3, .1}];
Export["visual_in_mathematica_ANIM.gif", g, "DisplayDurations" -> 0.1]

Mathematica позволяет экспортировать таблицы значений в gif, таким образом, каждой ячейке соответствует один кадр. В приведенном выше примере мы получали множество графиков, отличных на некое значение параметра t.

Создание видео

http://www.youtube.com/watch?v=JyVKMIOAS3M
v = Table[
   Show[
    Plot3D[Sin[x y*t], {x, 0, Pi}, {y, 0, Pi}],
    ImageSize -> 1200
    ]
   , {t, 1, 3, .01}];
Export["visual_in_mathematica_ANIM.avi", v, "DisplayDurations" -> .1]

Экспортируя в видео мы можем выбрать больший размер изображения, а так же увеличить частоту кадров, относительно экспорта в gif.


Динамические объекты с помощью CDF

//edunow.su/images/visual_in_mathematica_CDF
v = Manipulate[
  Show[Plot3D[Sin[x y*t], {x, 0, Pi}, {y, 0, Pi}]]
  , {t, 1, 3}
  ]
Export["visual_in_mathematica_CDF.cdf", v]

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

↑ Расскажите друзьям о статье


Comments system Cackle

© EduNow.su — материалы подлежат полному/частичному копированию при указании прямой ссылки на источник. (Сегодня 20.11.17)