Смекни!
smekni.com

Графика в системе Maple V (стр. 2 из 12)

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

13.2.3. Графики функций в неограниченном масштабе

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


Рис. 13.2. Построение графиков функции с явным указанием масштаба.

плюс бесконечности. Бесконечность в таких случаях задается в указателях масштаба как особая константа infinity. В этом случае масштаб автоматически меняется по ходу построения графика. Рис. 13.2 (второй пример) иллюстрирует сказанное. Пересчет значении координаты х, устремляющейся в бесконечность, выполняется с помощью функции для арктангенса.

13.2.4. Графики функций с разрывами

Некоторые функции, например tan(x), имеют при определенных значениях х разрывы, причем случается что значения функции в этом случае устремляются в бесконечность. Функция tan(x), к примеру, в точках разрывов устремляется к +°° и -°°. Построение графиков таких функций нередко дает плохо предсказуемые результаты. Графический процессор Maple V не всегда в состоянии определить оптимальный масштаб по оси ординат, а график функции выглядит весьма непредставительно — если не сказать безобразно (см. рис. 13.3 — первый пример).

Среди параметров функции plot есть специальный параметр discont. Если задать его значение равным true, то качество графиков существенно улучшается — см. рис. 13.3 — второй пример. Улучшение достигается разбивкой графика на несколько участков, в которых функция непрерывна, и более тщательным контролем за масштабом.

13.2.5. Построение графиков нескольких функций на одном рисунке

Важное значение имеет возможность построения на одном рисунке графиков нескольких функций. В простейшем случае (рис. 13.4 первый пример) для построения таких графиков достаточно перечислить нужные функции и установить для них общие масштабы.


Рис. 13.3. Построение графиков функции с разрывами.

Обычно графики разных функций автоматически строятся разными цветами. Но они не всегда удовлетворяют пользователя — например, при распечатке графиков монохромным принтером некоторые кривые могут выглядеть слишком блеклыми или даже не пропечататься вообще. Используя списки параметров color (цвет линии) и style (стиль линий) можно добиться выразительного выделения кривых — это показывает второй пример на рис. 13.4.


Рис. 13.4. Графики трех функции на одном рисунке.

На рис. 13.5 показан еще один пример такого рода. Здесь построен график функции sin(x)/x и график ее полиномиальной аппроксимации. Она выполняется настолько просто, что соответствующие функции записаны прямо в списке параметров функции plot.


Рис. 13.5. График функции sin(x)/x и ее полиномиальной аппроксимации.

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

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

В этом рисунке запись axes=NONE убирает координатные оси. Обратите внимание, что смещение графиков отдельных функций вниз с целью устранения их наложения достигнуто просто прибавлением к записи каждой функции некоторой константы.

13.2.6. Построение графиков функций, заданных отдельными точками

Показанный на рис. 13.5 график полинома, построенный крестиками, не означает, что полином представлен отдельными точками. В данном случае просто выбран стиль линии в виде точек, представленных крестиками. Однако, часто возникает необходимость построения графиков функции, которые представлены просто совокупностью точек. Она может быть создана искусственно, как на рис. 13.7, либо просто задаваться списком координат х и значений функции.


Рис. 13.6. Построение графиков нескольких любопытных функции.


Рис. 137. Формирование списка отдельных точек функции и их построение на графике.

В данном случае переменная Р имеет вид списка, в котором попарно перечислены координаты точек функции sin(x). В этом нетрудно убедиться, заменив знак «:» после выражения, задающего Р на знак «;». Далее по списку Р построен график точек в виде крестиков, которые отображают отдельные значения функции sin(x).

На рис. 13.8 показано построение графиков функций по точкам при явном задании функции списком координат ее отдельных точек. В первом примере эти

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


Рис. 13.8. Построение графика функции явно заданной отдельными точками.

Во втором примере рис. 13.8 показано построение только точек заданной функциональной зависимости. Они представлены маленькими кружками.

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

13.2.7. Построение графиков функций, заданных их именами

Способность Maple V к упрощению работы пользователя просто поразительна — жаль только, что многие возможности этого становятся ясными после основательного изучения системы, на что уходят увы не дни, а месяцы, а то и годы. Применительно к графике одной их таких возможностей является построение графиков функций, заданных только их функциональными именами — даже без указания параметров в круглых скобках. Такую возможность наглядно демонстрирует рис. 13.9.

Этот пример показывает, что возможно построение графиков функций даже без применения в команде plot указателей масштабов. При этом масштаб по горизонтальной оси устанавливается равным по умолчанию -10..10, а по вертикальной оси устанавливается автоматически в соответствии с экстремальными значениями функций в указанном диапазоне изменения независимой переменной — условно х.


Рис. 13.9. Построение графиков четырех функции, заданных только их именами.

13.2.8. Построение графиков функции с ординатами, заданными вектором

Часто возникает необходимость построения графика точек, ординаты которых являются элементами некоторого вектора. Обычно при этом предполагается равномерное расположение точек по горизонтальной оси.

Пример построения такого графика дан на рис. 13.10.

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

13.2.9. Построение графиков функций, заданных процедурами

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

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


Рис. 13.10. Построение графика точек с ординатами, заданными элементами вектора.


Рис. 13.11. Построение графика функций, заданных процедурами

13.2.10. Построение графиков функций, заданных функциональными операторами

Еще одна «экзотическая» возможность функции plot — построение графиков функций, заданных функциональными операторами. Она иллюстрируется рис. 13.12.


Рис. 13.12. Построение графиков функции, заданной функциональными операторами.

Имена функции (без указания списка параметров в круглых скобках тоже по существу являются функциональными операторами. Так что и они могут использоваться при построении графиков упрощенными способами.