5.3.3 Контурные графики
Контурные графики, как правило, представляют собой некоторый набор линий на плоскости. Каждая из линий является горизонтальной проекцией линии пересечения заданной поверхности с плоскостью горизонтального уровня.
MATLAB позволяет получить различные типы контурных графиков при помощи команд contour(…) и contourf(…).
Пример 18. Построить контурный график функции z = x2+y2 (рис. 5.24) из 20 линий. Переменные x и y изменяются на интервале [–3;3] с шагом 0,1.
>> [x,y]=meshgrid(-3:0.1:3);
>> z=x.^2+y.^2;
>> contour (x,y,z,20)
>> colorbar
Рис. 5.24
Такой контурный график дает весьма приблизительное представление о том, какое значении функции соответствует той или иной линии уровня.
MATLAB позволяет нанести на каждую линию уровня, значение, которое принимает на ней исследуемая функция. Для этого служит команда clabel (…).
Команда clabel(…) вызывается с двумя аргументами: матрицей, содержащей информацию о линиях уровня, и указателем на график, где следует нанести числовое значение функции.
Пользователю необязательно самому создавать аргументы clabel (…). Для этого команду contour(…) следует вызвать с двумя выходными аргументами.
Поясним это на примере.
Пример 19. Построить контурный график функции z = x2+y2 (рис. 5.25), состоящий из 10 оцифрованных линий уровня. Переменные x и y изменяются на интервале [–3;3] с шагом 0,1.
>> [x,y]=meshgrid(-3:0.1:3);
>> z=x.^2+y.^2;
>> [C,H]=contour (x,y,z,10);
>> clabel(C,H)
>> grid on
Рис. 5.25
MATLAB предоставляет возможность оцифровки линий уровня вручную. Для этого вместо команды clabel(C,H) необходимо использовать команду clabel(C,H,’manual’). Такая замена в примере 19 приводит к тому, что на экран монитора выводится контурный график без оцифровки линий уровня, но с перекрестьем, которое можно двигать по изображению с помощью мыши. Расположив перекрестье на требуемой линии уровня и нажав левую или правую кнопку мыши, можно получить значение функции, соответствующее выбранной линии. Для того, чтобы завершить оцифровку линий уровня, перекрестье следует поместить за пределы графика и нажать любую кнопку мыши.
На рис. 5.26 представлен результат оцифровки с помощью команды clabel(C,H,’manual’) четырех линий уровня, рассчитанных применительно к условиям примера 19.
Рис. 5.26
MATLAB позволяет строить линии уровня не только на плоскости, но и на графике двухмерной функции z(x,y). Для этого применяется команда surfc(x,y,z), правила использования которого аналогичны правилам для команды surf(x,y,z).
Если в примере 17 для вывода графика сделать замену команды mesh(x,y,z) на команду surfc(x,y,z), то получим результат, показанный на рис. 5.27.
Рис. 5.27
Yandex.RTB R-A-252273-3
- Основы работы и программирования, компьютерная математика Учебный курс
- Isbn ооо «Харвест», 2008
- Предисловие
- Введение
- Глава 1 знакомство с matlab и простейшие вычисления
- 1.1. Рабочая средаMatlab
- 1.2. Арифметические вычисления
- 1.3. Вещественные числа
- 1.4. Форматы вывода результата вычислений
- 1.5 Комплексные числа
- 1.6 Векторы и матрицы
- 1.7 Встроенные функции. Функции, задаваемые пользователем
- 1.8 Сообщения об ошибках и их исправление
- 1.9 Просмотр и сохранение переменных
- 1.10 Матричные и поэлементные операции над векторами и матрицами
- 1.11 Решение систем линейных уравнений
- Вопросы для самопроверки
- Глава 2 работа с массивами
- 2.1 Создание векторов и матриц
- 2.2 Применение команд обработки данных к векторам и матрицам
- 2.3 Создание специальных матриц
- 2.4 Создание новых массивов на основе существующих
- 2.5 Вычисление собственных значений и собственных векторов. Решение типовых задач линейной алгебры
- Вопросы для самопроверки
- Глава 3 м-файлы
- 3.1 Файл-программы
- 3.2 Файл-функции
- Вопросы для самопроверки
- Глава 4 программирование
- 4.1 Операторы отношения и логические операторы
- 4.2 Операторы цикла
- 4.3 Операторы ветвления
- 4.4 Оператор переключения switch
- 4.5 Оператор прерывания цикла break
- 4.6 Пример сравнения быстродействия матричных и скалярных операций
- Вопросы для самопроверки
- Глава 5 высокоуровневая графика
- 5.1 2D графика
- 5.1.1 Графики в линейном масштабе
- 5.2 Специальные виды 2d - графиков
- 5.2.1 Представление функции в виде дискретных отсчетов
- 5.2.2 Лестничные графики
- 5.2.3 Графики с указанием погрешности
- 5.2.4 Графики в логарифмическом и полулогарифмическом масштабах
- 5.2.5 Графики параметрических функций
- 5.3 3D графика
- 5.3.1 Линейчатые поверхности
- 5.3.2 Каркасные поверхности
- 5.3.3 Контурные графики
- 5.3.4 Сплошная освещенная поверхность
- 5.4 Оформление, экспорт и анимация
- 5.4.1 Оформление графиков
- 5.4.2 Сохранение и экспорт графиков
- 5.4.3 Анимация
- Вопросы для самопроверки
- Глава 6 прикладная численная математика
- 6.1 Операции с полиномами
- 6.2 Решение уравнений и их систем
- 6.3 Минимизация функции одной переменной
- 6.4 Минимизация функции нескольких переменных
- 6.5 Вычисление определенных интегралов
- 6.6 Решение дифференциальных уравнений
- 6.7 Аппроксимация и интерполяция данных
- 6.8 Интерполяция двумерных и многомерных данных
- Вопросы для самопроверки
- Глава 7 символьные вычисления
- 7.1 Символьные переменные, константы и выражения
- 7.2 Вычисления с использованием арифметики произвольной точности
- 7.3 Команды упрощения выражений – simplify, simple
- 7.4 Команда расширения выражений – expand
- 7.5 Разложение выражений на простые множители – команда factor
- 7.6 Приведение подобных членов – команда collect
- 7.7 Обеспечение подстановок – команда subs
- 7.8 Вычисление пределов – команда limit
- 7.9 Вычисление производных – команда diff
- 7.10 Вычисление интегралов – команда int
- 7.11 Разложение в ряд Тейлора – команда taylor
- 7.12 Вычисление суммы ряда – команда symsum
- 7.13 Решение уравнений и их систем – команда solve
- 7.14 Решение дифференциальных уравнений – команда dsolve
- 7.15 Прямое и обратное преобразования Лапласа – команды laplace,ilaplace
- 7.16 Графики символьных функций – команды ezplot, ezpolar
- 7.17 Прямой доступ к ядру системы Maple – командаmaple
- 7.18 Разложение рациональной дроби на сумму простейших дробей
- 7.19 Интерполяционный полином Лагранжа
- 7.20 Решение неравенств и систем неравенств
- 7.21 Разложение в ряд Тейлора функции нескольких переменных
- 7.22 Решение дифференциальных уравнений с помощью степенных рядов
- 7.23 Решение тригонометрических уравнений
- Вопросы для самопроверки
- Приложения Приложение 1. Справочная система matlab
- Приложение 2. Знакомство с пакетами расширения системыMatlab
- Приложение 3. Задания для самостоятельной работы
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Литература