Перейти к основному содержанию
Рецепты Linux

Main navigation

  • Основы
  • Система
  • Команды
  • Программы
  • Дистро
  • Интерфейсы
  • Устройства
  • Доки
User account menu
  • Войти

Строка навигации

  1. Главная
  2. Практическая информатика
  3. Глава 8 Системы компьютерной алгебры
  4. Mathematica

Графика

В системе Mathematica для построения графиков вида y=f(x) используется функция Plot, первым параметром которой является функция или список функций, графики которых должны быть построены, а вторым - список из трех величин: аргумент функций и концы промежутка, на котором должен быть построен график, например,

Plot[{Sin[x/2], 1.5 Sin[2x]}, {x, -3Pi,3Pi}]

Полученные изображения можно сохранить в форматах EPS, GIF, PDF, TIFF и некоторых других (смотри Help) при помощи функции Display. Ее первым аргументом является имя создаваемого файла, заключенное в кавычки, вторым - графическое изображение, а третьим - формат выходного файла, например,

Display["g1.gif", 
 Plot[ArcTan[x]-0.5, {x, -10, 10}],
 "GIF"] 

Для каждого графика можно задать набор параметров PlotStyle, задающий цвет, толщину и тип линии графика. Опция RGBColor[r,g,b] (каждая составляющая есть число в диапазоне от 0 до 1) задает цвет графика в цветовой модели RGB. Для применения цветовой модели HSB (H - hue, тон; S - saturation, насыщенность; B - brightness, яркость) указывается опция Hue[h, s, b], (h, s и b из интервала [0; 1]). Возможно указание сокращенной формы этой опции - Hue[h], соответствующей значению Hue[h, 1, 1]. В следующем примере используются две различные цветовые модели для изображения двух графиков:

Plot[{Sin[x], Sin[2x]}, {x, -2Pi,2Pi}, 
 PlotStyle -> {RGBColor[1,0,0], Hue[.4]}]

Другими опциями PlotStyle являются толщина линии (Thickness) и характеристики пунктирной линии (Dashing):

Plot[{x Sin[2x], x^3 - 3x +1}, {x, -4, 4},
 PlotStyle -> {{Hue[0], Thickness[.01]}, 
 {Hue[.6], Dashing[{.02}]}}]

Функция Plot допускает задание множества других опций, относящихся как ко всему изображению в целом, так и к каждому из его составляющих в отдельности. Их полный список можно получить при помощи команды Options[Plot]. Вот примеры использования некоторых из них:

Frame -> True Заключает рисунок в рамку
PlotRange -> {-5, 5} Задает диапазон по оси OY
Ticks -> {{-Pi, 0, Pi}, Automatic} Задает отметки на оси OX
PlotLabel -> "Sin[x]/x" Задает заголовок рисунка


Пример
На следующем рисунке изображен график функции arctg x и две его горизонтальные ассимптоты (PI/2 и -PI/2). Опция PlotStyle задает параметры каждого графика в отдельности, а остальные опции задают внешний вид всего изображения в целом. Переменная p2 используется затем для сохранения изображения.

p2=Plot[{ArcTan[x], Pi/2, - Pi/2}, {x, -10, 10},
 PlotStyle -> {{RGBColor[0, 1, 0]}, 
 {RGBColor[1, 0, 1], Dashing[{.015}]},
 {RGBColor[1, 0, 1], Dashing[{.015}]}},
 Ticks -> {Automatic, {-Pi/2, -Pi/4, Pi/4, Pi/2}}, 
 PlotLabel->"f(x) = arctg(x)", 
 PlotRange ->{-2, 2}]

Для сохранения в файле g2.gif полученного изображения в формате GIF использовалась функция Display:

Display["g2.gif", p2, "GIF"]

Функция ParametricPlot используется для рисования графиков функций, заданных параметрически. Отметим, что Mathematica по умолчанию отображает графические объекты таким образом, что отношение высоты рисунка к его ширине равно величине, обратной золотому сечению (около 0.618034). Для сохранения естественных пропорций изображения следует указывать опцию AspectRatio -> Automatic. После этого круг выглядит действительно кругом, а не овалом. Ниже приведены примеры, демонстрирующие построение параметрически заданных кривых.

ParametricPlot[{Sin[t], Cos[t]}, {t, 0, 2Pi}]
ParametricPlot[{Sin[t], Cos[t]},
 {t, 0, 2Pi}, AspectRatio -> Automatic]
ParametricPlot[{Sin[3t], Cos[2t]},
 {t, 2Pi/3, 4Pi/3}, AspectRatio -> Automatic]
ParametricPlot[{{Sin[2t], Sin[3t]},
 {0.5*Sin[t], 0.5*Cos[t]}},
 {t, 0, 2Pi}, AspectRatio -> Automatic] 

Для построения графиков в полярной системе координат следует предварительно загрузить модуль расширения Graphics, после чего использовать функцию PolarPlot:

<

Функции Plot3D и ParametricPlot3D являются основными инструментами программы Mathematica для изображения трехмерных графических объектов. Эти функции кроме трех обязательных параметров, задающих функцию и диапазоны изменения переменных, используют множество дополнительных опций. Отметим среди них только PlotPoints, указывающую на сколько частей следует разбить интервалы изменения переменных. Ниже приведены два примера использования этих функций.

 

 

Plot3D[Sin[xy], 
 {x, 0, 4}, {y, 0, 4},
 PlotPoints -> 40,
 Mesh ->False,
 FaceGrids ->All,
 AxesLabel ->
 {"Length", "Width", "Height"}]

 

 

ParametricPlot3D[
 {u Cos[u](4 + Cos[u+v]),
 u Sin[u](4 + Cos[u+v]),
 u Sin[u + v]},
 {u, 0, 3Pi},{v, 0, 3Pi},
 PlotPoints ->{60, 12}] 

Следующие изображения построены при помощи модуля расширения Graphics.Построение икосаэдра

< False]

Лист Мебиуса - пример односторонней поверхности

<False]]

Сфера с отверстием

< False, 
 PlotPoints ->{3,15}]


Задания
Постройте графики следующих функций, используя различные параметры, задающие цвет и тип линий, добавьте подписи к рисункам и сохраните их в формате GIF:

1) 2) .

Перекрёстные ссылки книги для Графика

  • Работа с выражениями
  • Вверх
  • Уравнения и неравенства

Book navigation

  • Содержание
  • Глава 1 Основы информатики
  • Глава 2 Операционные системы и сети
  • Глава 3 Графика на компьютере
  • Глава 4 Обработка текста
  • Глава 5 Основы языка HTML
  • Глава 6 Динамический HTML
  • Глава 7 Простейшие вычисления
  • Глава 8 Системы компьютерной алгебры
    • Mathematica
      • Работа с выражениями
      • Графика
      • Уравнения и неравенства
      • Пределы и ряды
      • Дифференцирование и интегрирование
      • Матрицы
      • Логические выражения
    • Maxima
  • Глава 9 Модели и программирование
  • Глава 10 Логическое программирование
  • Глава 11 Введение в ООП
  • Глава 12 Программирование и интернет

Последние материалы

  • Эмулятор терминала Terminator
    4 hours ago
  • Приложение scanimage
    6 days 1 hour ago
  • Утилита sensors
    1 week 2 days ago
  • Сканер Rkhunter
    2 weeks 3 days ago
  • Программа resize2fs
    3 weeks 2 days ago
RSS feed

Secondary menu

  • О проекте

© 2008–2025 Олег Меньшенин mensh@yandex.ru