Самоучитель Matlab
Рис. 2.30. Ввод меток контурных линий в ручном режиме
Рис. 2.31. Контурный график с заливкой области графика
76
Глава 2. Графика в Matlab
в котором, в интерактивном режиме пользователем, с помощью мыши, определяется место размещения меток для контурных линий. Процедуру выбора места для меток контурных линий иллюстрирует рис. 2.30.
На контурной линии выбирается место, и после щелчка мышью там появляется метка (подпись) со значением функции, соответствующим выбранной контурной линии. Для прекращения ввода меток достаточно нажать клавишу <Enter> или щелкнуть мышкой вне области рисунка.
Для отображения контурного графика с заливкой области графика цветом используют функцию contourf(). На рис. 2.31 приведен пример создания контурного графика с помощью команды contourf(X,Y,Z).
Способ использования функции contourf() аналогичен к функции contour(). Например, на рис. 2.32 представлен контурный график, который создается командой contourf(X,Y,Z,30).
Рис. 2.32. Контурный график с заливкой и увеличенным количеством контурных линий
В данном случае третьим аргументом указывается количество значений функции, для которых строятся контурные линии. Командой contourf(X,Y,Z,vals) (где вектор vals такой же, как и в рассмотренном выше примере) создается контурный график (с заливкой цветом) с контурными линиями для значений, определяемых третьим аргументом – вектором vals (рис. 2.33).
77
Самоучитель Matlab
Рис. 2.33. Контурный график с заливкой и контурными линиями для предопределенных значений функции
Рис. 2.34. Контурный график с заливкой и отображением подписей для контурных линий
78
Глава 2. Графика в Matlab
Точно так же, как отображаются метки для контурных линий в случае использования функции contour(), выполняется отображение меток для контурных линий заполненного цветом контурного графика (рис. 2.34).
В данном случае использовались следующие команды:
>>[C,h]=contourf(X,Y,Z,[-0.5 -0.1 0 0.1 0.3]);
>>clabel(C,h)
Отметим также, что при выполнении заливки цветом в контурных графиках (и не только) полезной может быть функция colormap(). Она позволяет изменить используемую по умолчанию цветовую палитру. Аргументом функции могут указываться, кроме прочего, следующие ключевые слова: jet, hsv, hot, cool, spring, summer, autumn, winter, gray, bone, copper, pink и lines. Каждое из этих ключевых слов соответствует предопределенной цветовой палитре. Желающие изучить этот вопрос подробно могут обратиться к справочной системе Matlab или поэкспериментировать с рабочими документами. Для перехода к используемой по умолчанию цветовой палитре воспользуемся командой colormap('default').
Создание трехмерных графиков
- Крупное дело?
- Давно такого не было!
К/ф "Приключения Шерлока Холмса и доктора Ватсона. Собака Баскервилей"
Трехмерные поверхности создаются с помощью функции mesh(). Аргументы функции (узловые точки и значения функции в этих точках) определяются так же, как и для рассмотренных выше функций contour() и contourf(). На рис. 2.35 представлена поверхность для той же функциональной зависимости по тем же базовым точкам, для которой выше строились контурные графики.
Для создания поверхности использовалась команда mesh(X,Y,Z). При этом поверхность отображается в виде сетки. У функции mesh() существуют модификации: функции meshc() и meshz(). Функция meshc() позволяет одновременно с трехмерной поверхностью строить в горизонтальной координатной плоскости контурный график, как показано на рис. 2.36.
График построен с помощью команды meshc(X,Y,Z). В таком (то есть в режиме отображения кроме трехмерной поверхности еще и контурных линий) обычно бывает легче анализировать представленные в графическом виде зависимости, поскольку фактически для одной и той же функциональной зависимости отображается сразу два графика: пространственная поверхность и контурный график.
79
Самоучитель Matlab
Рис. 2.35. Трехмерная поверхность (сетка)
Рис. 2.36. Трехмерная поверхность и контурные линии
80