Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1465

.pdf
Скачиваний:
12
Добавлен:
15.11.2022
Размер:
27.43 Mб
Скачать

PlotRange–>All]» (пакет автоматически преобразует последовательность знаков «–>» в стрелку «»). Для задания нужного размера рисунка по оси ординат опции «PlotRange» надо передать диапазон значений, например (рис. 1.6, б),

Plot[{x2,x3,Exp[2x]},{x,–2,3},PlotRange {–10,15}]”.

Рис. 1.6. Результаты выполнения команд: а – “Plot[{x2,x3,Exp[2x]},{x,–2,3}]”; б – “Plot[{x2,x3,Exp[2x]},{x,–2,3},PlotRange {–10,15}]”

Можно задать и окно вывода (например, для более детального изображения графиков функций вблизи некоторой точки – точки пересечения или особой точки функции и так далее) с помощью структуры «PlotRange{{xmin,xmax},{ymin,ymax}}». При этом можно предоставить пакету выбор размеров по одному из направлений с помощью слова «Automatic”, например:

PlotRange{{xmin,xmax},Automatic}”

или слова «All»: «PlotRange{{xmin,xmax},{0,All}}».

Чтобы сохранить получаемые рисунки, надо навести указатель (стрелку) мыши на рисунок и нажать на правую кнопку. В появившемся меню нужно выбрать строку «Save Graphic As…» и нажать на левую кнопку мыши. Далее необходимо выбрать место, в котором будет сохранен рисунок, и ввести его название. Пакет предлагает для сохранения рисунка большое количество форматов. Для последующего размещения рисунков в текстовых документах удобно использовать типы файлов «GIF»,

«JPEG», «TIFF».

Для задания свойств линии, которой рисуется график, применяется опция “PlotStyle”. Этой опции может быть передано несколько значений. Что-

71

бы нарисовать утолщенную линию, необходимо передать этой опции значение “Thick”, например, “PlotStyleThick”. Для задания другой толщины линии используется функция “Thickness[]”, например, “PlotStyleThickness[0.01]”. Аргумент задает долю, которую составляет толщина линии от высоты рисунка. Для изображения графика некоторой математической зависимости пунктирной линией опции “PlotStyle” передается значение “Dashed” или используется функция “Dashing[{r1,r2,r3,…}]”, где сегменты с длинами, соответствующими значениям ri (доли, которые составляют длины сегментов пунктирной линии от высоты рисунка), повторяются циклически. Например, можно задать “PlotStyleDashing[{0.08,0.02}]” или “PlotStyleDashing[0.05]”. Для того чтобы одновременно задать и толщину, и пунктир, используется структура “PlotStyle{Thickness[0.01], Dashing[0.05]}”. Здесь порядок функций в фигурных скобках значения не имеет. Если при выводе нескольких кривых на одном рисунке требуется задавать свой стиль для каждой кривой, то необходимые свойства перечисляются в фигурных скобках: “PlotStyle{{Styles-1},{Styles-2},…}”, например (рис. 1.7),

Plot[{x2,x3,Exp[2x]}, {x,–2,3}, PlotStyle{{Thickness[0.01],

Dashing[0.05]}, {Thickness[0.0125]}, {Dashing[{0.08,0.02}]}}]”.

Рис. 1.7. Вывод графиков различной толщины и вида пунктира

Для удобства вывода, помимо толщины и вида пунктира, в стиле графика можно указать его цвет. Самый простой вариант – использовать на-

звания цветов (“Black”, “Gray”, “Blue”, “Brown”, “Cyan”, “Green”, “Ma-

genta”, “Orange”, “Pink”, “Purple”, “Red”, “Yellow”). Эти цвета можно сде-

лать темнее с помощью функции “Darker[]”, например, “Darker[Green]”

72

или светлее с помощью функции “Lighter[]”, например, “Lighter[Blue]”. Также можно задать цвет с помощью функции “RGBColor[r1,r2,r3]”, в которой величины r1, r2, r3 задают доли красного, зеленого и синего цветов соответственно. Например, параболу синего цвета можно построить с помощью команды

Plot[x2,{x,–2,3},PlotStyle {Thickness[0.02], RGBColor[0,0,1]}]”.

Задавать промежуточные оттенки с помощью этой функции не всегда удобно. Для этого можно использовать названия оттенков, список которых можно получить в “Mathematica 7.0” с помощью функции “ColorData[]”. Эта функция позволяет получить обширный набор цветовых схем и отдельных цветов. Рассмотрим некоторые примеры ее использования. Выполнение команды “ColorData[]” приводит к появлению списка ее воз-

можных аргументов “{Gradients, Indexed, Named, Physical}”, соответст-

вующих наборам цветовых схем: “Gradients” дает названия схем, цвет в которых плавно изменяется от одного до другого при непрерывном изменении от 0 до 1 параметра схемы. Например, выполнив команду “ColorData["Gradients"]”, можно получить список названий предопределенных цветовых схем. Далее эти названия используются для задания конкретного цвета. Выберем для примера название “TemperatureMap”. Доступ

к цветам этой схемы дает команда “ColorData["TemperatureMap"]” (рис. 1.11). Конкретный цвет из этой схемы получается заданием значения параметра. Например, выполните

Plot[x2,{x,–2,3},PlotStyle {Thick,ColorData["TemperatureMap",0.2]}]”.

Рис. 1.8. Результат выполнения команды “ColorData["TemperatureMap"]” (приведен вид цветовой схемы, крайние оттенки цвета которой соответствуют значениям параметров 0 и 1)

Поименованные цветовые схемы можно получить, выполнив команду “ColorData["Named"]”, которая приводит к появлению на экране спи-

ска имен схем: {Atoms, GeologicAges, HTML, Legacy, WebSafe}. Напри-

мер, схема “Atoms” содержит цвета, соответствующие атомам из периодической таблицы Д.И. Менделеева. Список названий цветов этой схемы можно получить с помощью команды “ColorData["Atoms","Range"]”. Используются они, например, таким образом (взят «цвет меди» – Cu):

73

Plot[x2,{x,–2,3},PlotStyle {Thick,ColorData["Atoms","Cu"]}]”.

Чтобы увидеть все предопределенные в пакете «цвета атомов», необходимо выполнить команду “ColorData["Atoms", "Image"]” (результат приведен на рис. 1.9). Набрав команду “ColorData["Legacy","Range"]” и нажав “Shift + Enter”, получим доступные названия оттенков цветов. Теперь эти названия могут использоваться для рисования графиков, например:

Plot[x2,{x,–2,3},PlotStyle {Thick,ColorData["Legacy", "SteelBlue"]}]”.

Рис. 1.9. Цветовая схема таблицы Д.И. Менделеева

Другой полезной опцией является задание названий осей координат. Для этого применяется опция “AxesLabel”, например:

Plot[x2,{x,–2,3},PlotStyle {Thick,Darker[Green]},AxesLabel{"X", "Y"}]”.

Для задания названия рисунка используется опция “PlotLabel”, например:

Plot[x2,{x,–2,3},PlotStyle {Thick,Darker[Green]}, AxesLabel{"X", "Y"},PlotLabel"Fig.1"]”.

Для того чтобы отменить изображение меток на осях координат, задать свои метки в нужных местах на осях применяется опция “Ticks”. Опция

74

TicksFalse” убирает все метки на обеих осях, Ticks{Automatic, False}”

отменяет метки на оси ординат и оставляет автоматическое расположение меток на оси абсцисс. Для задания своих меток с нужными обозначениями применяется конструкция, аналогичная следующей:

Plot[Cos[x], {x, –2, 3.3}, PlotStyle{Thick, Darker[Green]}, AxesLabel{"X", "Y"}, PlotLabel"Cos[x]",

Ticks{{{−π / 2, "

π

"},{π

/ 2, "π

 

"},{π

π, " "}}},{–1,1}}]”.

 

 

 

 

 

 

 

2

 

2

 

 

 

 

 

 

 

В этом примере подчеркнутый список

{{−π / 2, "

π

"},{π / 2, "π

 

"},

 

2

 

 

 

 

 

 

 

2

 

 

{π , "π "}} задает расположение и названия меток на оси абсцисс, а второй

список {–1,1} – расположение меток на оси ординат (рис. 1.10, а). Приведем также пример рисунка с графиками двух функций при отключении меток на оси ординат с помощью значения "None" (рис. 1.10, б):

Plot[{x2, 2 Cos[x]},{x, –1, 2}, PlotStyle {{Thick, Purple}, {Thick, Dashed, Darker[Green]}}, AxesLabel {"X", "Y"}, Ticks {{–1, 1, 2}, None}]”.

Рис. 1.10. Построение графиков функций:

а – с заданием меток; б – с отменой меток на оси ординат

Функция “Plot[]” содержит ряд других опций, информацию о которых можно найти в пакете. Для получения основной информации о функции “Plot[]” надо выполнить команду “? Plot”, для получения более подробной информации необходимо выполнить “?? Plot” либо подвести курсор к слову “Plot” и нажать клавишу F1. Аналогично можно посмотреть справку о любой другой функции пакета или используемого символа.

75

На основе функции “Plot[]” сформировано несколько других функций пакета для графического отображения информации. Полезной модификацией является функция “ParametricPlot[]”, которая строит на плоскости график функции, заданной параметрически. Структуру этой функции можно представить как “ParametricPlot[{x[t],y[t]}, {t,t1,t2}]”. Здесь в качестве дополнительных аргументов можно использовать те же опции, которые приводились выше при обсуждении функции “Plot[]”. Например, построим

график “ParametricPlot[{2Cos[t],Sin[t]},{t,0, 7π}, PlotStyleThick]”.

Другая модификация функции “Plot[]” – это функция “DensityPlot[]”, которая отображает на координатной плоскости значения функции двух переменных, используя различные цветовые оттенки. Использование этой функциианалогичноиспользованиюфункции“Plot[]”. Например, выполним

DensityPlot[Exp[–x2 – y2], {x, –2, 2}, {y, –2, 2}]”.

Врезультате получим плоскую область, точки которой закрашены

всоответствии с выбранной по умолчанию цветовой схемой, отображаемые оттенки будут соответствовать значениям заданной функции Exp[–x2 – y2]”. Опция “PlotStyle” для данной функции не определена. Для выбора другой цветовой схемы применяется опция “ColorFunction”,

которой передается название этой схемы, например, “ColorFunction

"TemperatureMap"” (рис. 1.11, а):

DensityPlot[Exp[–x2 – y2], {x, –2, 2}, {y, –2, 2},

ColorFunction"TemperatureMap"]”.

Часто использование функции “DensityPlot[]” с заданными по умолчанию значениями дополнительных аргументов приводит к получению грубого изображения. Улучшить рисунок помогает опция “PlotPoints”, задающая число точек, используемых для построения изображения, например (рис. 1.11, б),

DensityPlot[Exp[–x2 – y2], {x, –2, 2}, {y, –2, 2},

ColorFunction"TemperatureMap", PlotPoints100,

FrameTicksFalse, Mesh2]”.

В приведенном примере использовались также опция “FrameTicks”, позволяющая управлять метками на рамке вокруг получаемого плоского изображения, и опция “Mesh”, определяющая число линий сетки, накладываемой на изображение. В приведенном примере параллельно каждой из осей проводитсяодинаковоеколичество(координатных) линий(по2 штуки).

76

а

б

Рис. 1.11. Пример работы функции “DensityPlot[]” с параметрами: а – заданными по умолчанию; б – заданными пользователем

Функция “DensityPlot[]” имеет опцию, позволяющую выводить на экран область, определяемую некоторыми условиями: “RegionFunctionFunction[{x, y}, 1 < x2 + y2 < 5]”. В данном примере область вывода определяется неравенством 1 < x2 + y2 < 5. Цвет границы отображаемой области задается опцией “BoundaryStyle Red”. Результат приведен на рис. 1.12.

Рис. 1.12. Пример работы функции “DensityPlot[]”

с опциями “RegionFunction” и “BoundaryStyle

Другую модификацию функций, используемых для графического представления результатов, представляет добавление «окончания» “3D”: “Plot3D[]”, “ParametricPlot3D[]” и другие. Например, выполните коман-

ду (рис. 1.13, а)

77

Plot3D[Exp[–x2 – y2], {x, –2, 2}, {y, –2, 2},

ColorFunction"TemperatureMap", PlotPoints100,

TicksFalse, Mesh5]”.

а

б

Рис. 1.13. Пример работы функции “Plot3D[]” с различной ориентацией одного и того же изображения: а – вид задан по умолчанию; б – вид снизу

Полученное трехмерное изображение можно произвольным образом поворачивать, удерживая нажатой левую кнопку компьютерной мыши и передвигая мышь в разных направлениях. Пользуясь этим, можно наиболее выгодным образом представить результаты, демонстрируя те или иные особенности соответствующих изображений (например, рис. 1.13, б).

Для построения трехмерных кривых, заданных параметрически, применяется функция “ParametricPlot3D”. Структуру этой функции можно представить как “ParametricPlot3D[{x[t],y[t],z[t]}, {t,t1,t2}]”. Например,

построим график винтовой линии на цилиндре с эллипсом в основании:

ParametricPlot3D[{2Cos[t],Sin[t],0.3t}, {t,0,7π},

PlotStyleThick, TicksFalse]”.

Помимо построения изображений, соответствующих заданным функциональным зависимостям, пакет дает возможность изображать плоские и пространственные линии и фигуры (графические примитивы). Далее они будут использоваться в различных примерах, здесь же рассмотрим, как построить изображение сферы. Сфера задается функцией “Sphere[{x1,x2,x3},r]”, где тройка чисел {x1,x2,x3} задает положение центра сферы в декартовой ортонормированной системе координат, а r

78

радиус сферы. Для построения изображения сферы надо применить функцию “Graphics3D[]”, например, “Graphics3D[Sphere[{1,0,0}, 0.5]]”

или, задавая цвет поверхности,

Graphics3D[{Brown, Sphere[{1,0,0}, 0.5]}]”.

Также можно построить изображение нескольких сфер:

Graphics3D[{{Brown, Sphere[{1,0,0},0.5], Sphere[{2,0,0},0.5]},

{Darker[Green], Sphere[{3,0,0}, 0.5]}}]”.

С помощью сфер принято изображать атомы различных веществ, образующих те или иные соединения. Построим изображение молекулы воды H2O. Двесферыбудутизображатьатомыводородасоответствующего цвета:

{ColorData["Atoms","H"], Sphere[{0, 0, 0}, 0.7], Sphere[{1.4, 0, 0}, 0.7]}

и одна сфера – атом кислорода O (если радиус не указан, то он равен 1):

{ColorData["Atoms", "O"], Sphere[{0.7, 0, 0.7}]}.

Для одновременного изображения всех указанных атомов выполните команду (результат выполнения приведен на рис. 1.14, а)

Graphics3D[{{ColorData["Atoms","H"], Sphere[{0, 0, 0}, 0.7],

Sphere[{1.4, 0, 0}, 0.7]}, {ColorData["Atoms", "O"],

Sphere[{0.7, 0, 0.7}]}}]”.

Отметим, что внутренние фигурные скобки здесь можно не ставить, афункции, задающие цвет, действуют на все перечисленные после них объекты. Для управления изображением можно добавить функцию “Specularity[White, 50]”, которая задает степень зеркальности (блеска) изображаемой поверхности, а также опцию “Lighting”, которая задает способ освещенности объекта (положение источника света, его цвет, размер, форму). Значение опции “Lighting"Neutral"” соответствует источнику белого цвета. Более подробную информацию об этих дополнительных параметрах можно найти вкниге помощи, встроенной в пакет. Рассмотрим пример их использования для молекулы H2O (пример из встроенной книги документации пакета «Mathematica 7.0», результатвыполнениякомандыприведеннарис. 1.14, б):

Graphics3D[{Specularity[White, 50], ColorData["Atoms", "H"],

Sphere[{0, 0, 0}, 0.7], Sphere[{1.4, 0, 0}, 0.7], ColorData["Atoms", "O"], Sphere[{.7, 0,.7}]}, Lighting"Neutral"]”.

79

а

б

Рис. 1.14. Пример работы функции “ Graphics3D[]” с различными параметрами: а – стандартные значения; б – добавлен блеск и освещенность

Пакет «Mathematica 7.0» предоставляет доступ к данным о химических веществах, которые подгружаются через Интернет и могут быть отображены в различном виде – как химические формулы, как схемы соединений, как трехмерные изображения молекул. Доступны химические и физические свойства этих веществ. Эта информация может быть получена с помощью функции “ChemicalData[]”.

б

а

в

Рис. 1.15. Изображение молекул: а – структурная формула Fe5O12Y3;

б – структурная формула C8H10N4O2; в – трехмерное изображение C8H10N4O2

80

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