Сергиенко А.Б. Цифровая обработка сигналов (2002) (1095939), страница 103
Текст из файла (страница 103)
А.12. Панель инструментов графического окна П Заве Е1поге — позволяет сохранить графическое окно в виде файла с расширением 11о (к сожалению, в окне сохранения файла это расширение не добавляется к имени автоматически — его приходится вводить вручну!о), Сохраняемый файл представляет собой МАТ-файл (см. ранее раздел «Ввод и вывод данпыхь), в котором записаны массивы данных, представленных на графике, а также все парал!етры настройки графического окна. Сохраненный Вй-файл впоследствии можно загрузить с помошыо кнопки Орел Ейе, воссоздав записанный график; П Рг1п1 Е!поге — позволяет распечатать содержимое графического окна; П Ес111 Р1о1 — включает режим редактирования графика.
В этом режиме можно выделять элементы графика мышью и настраивать их свойства; 1:! !паег1 Тех1 — включает режим интерактивного размещения текста на графике; О 1пвег1 Аггоа — включает режим рисования стрелок на графике; 1:! !пвег! Ыпе — включает режим рисования линий на графике; 1з Еоогп 1п — включает режим увеличения масштаба. В этом режиме щелчок левой кнопкой мыши в области графика увеличивает масштаб отображения, правой — уменьшает; ьз Еоогп Оо1 — включает режим уменьшения масштаба.
В этом режнл!е Шелчок левой кнопкой мыши в области графика уменьшает масштаб отображения, правой — увеличивает; О т1о1а1е 30 — включает режим настройкц точки обзора. В этом режиме перемещение указателя мыши в области графика прп нажатой левой кнопке мыши приводит к повороту габаритного параллелепипеда трехмерного графика. Использование данного режима для двумерных графиков не имеет особого смысла. Команды меню графического окна в основном совпадают с кнопками панели инструментов, Отметим лишь несколько команд, представляющих особьш интерес: ь«Ейе в Ехрог1 — позволяет сохранить график в виде файла одного из поддерживаемых графических форматов; 0 Тоо1э в Вагйс Е1111по — выводит окно настройки аппроксимации, с помощью которого можно подобрать подходяшую аппроксимирующую кривую для представленных на графике данных; 0 Тоо!в > Оа1а 81а11э1!са — выводит окно просмотра статистической информации о представленных на графике данных.
545 Графика ВнимАние График МАТьАВ является векторным графическим обьеклгом, для превращения которого в экранные никсслы может понадобиться проделать значительный объем вычислений. При веретаскиванни окна размер графика це меняется, так что нет необходимости не)жсчитывать его заново — Ж)ис)очгз лишь неремегцаст растровый образ окна. Если же вы меняете размер окна, разворачивая его, исретаскнвая его границы или используя команду Размер системного мешо окна, все вычисления, необходимыс для построения растрового образа графика, системс придется проделать заново. Поэтому перерисовка графика после изменения размеров его окна потребует столько же времени, сколько и первоначальное построение.
Имейте это в виду, если ваш график содержит большое количество элементов. Ситуация усугубляется, если в Жни)оьз установлен режим отображения содержимого окна цри церетаскивании (соответствующий флажок расположен на вкладке Эффекты окна свойств экрапа). При этом система иоиьпастся отследить перетаскивание грашщы окна, непрерывно нсрерцсовывая график. В случае сложного графика это может цривссти к весьма существенному тормаженшо работы. Другие разновидности двумерных графиков кроме функции р1ос сеть еше целый ряд функций с аналогичным синтаксисом, позволяющих получить лрусие разновилности двумерных графиков.
Ниже перечислены только некоторые пз этих функций, наиболее полезные в инженерных и научных приложениях; Е) зеип'1одх(х. у) — график с логарифмическим масштабом по оси х; . с) зев)1оду(х, у) — график с логарифмическим масштабом по оси гб Ы 1од1од(х. у) — график с логарифмическим масштабом по обеим осям; Е) р1осуу(х1. у1. х2. у2) — вывод зависимостей у1 от х1 и у2 от х2 с раздельной оцифровкой вертикальных осей (для первого графика оцифровка вертикальной оси наносится слева, лля второго — справа); О зсев(х, у) — график в виде «стебельков»; С3 зСа)гз(х, у) — график в впле ступенчатой линии; Е) ро1 аг(рЫ, г) — график в полярных коорлинатах (рй) — угловые координаты точек в радианах, г — соответствующие им радиусы). Трехмерная графика В МАТ1.АВ имеется функция с именем р1оьЗ, но, вопреки ожиданиям, основным средством трехмерной графики является вовсе не она.
Дело в том, что функция р1осЗ(х, у, г) является просто трехмерным аналогом функции р1ос, то есть она позволяет построить линию в трехмерном пространстве по коорлинатам точек, задаваемым векторами х, у и гс На практике гораздо чаще бывает необходимо строить графики функций двух переменных в виде поверхностей или линий равного уровня. Для построения трехмерных поверхностей служит функция зцгт, имеющая следугощий синтаксис: зцгПУ, У, 2) Приложение А. Основы работы с МАТ(АВ 3 -3 -3 -3 2 -2 -2 -2 1 -1 -1 -1 0 0 0 0 1 1 1 1 2 2 2 2 3 Э 3 Э В качестве примера построим график функции з!п(к~х' + у' ) -(х,у) = к Р+у' при изменении хну от — 5 до 5 с шагом 0,2 (рис. А.13): » х = -5:0.2:5: » [Х, У] - вез)тдг10(х); Здесь Х, У и 2 — двумерные массивы одинакового размера.
Функция строит поверхность, состоящую из четырехугольных ячеек. Координаты углов каждой ячейки задаются значениями четырех соседних элементов массивов Х, У и 2 с индексами (т, 3), ((, 3+1), И+1, д) и ((+1, 3+1). Цвет ячеек (точнее, индекс цвета в текущей палитре) по умолчанию меняется пропорционально координате;. Из способа задания параметров для функции виги видно, что ее возможности не ограничиваются построением двухкоордпнатных функциональных зависимостей. Действительно, функция виги позволяет строить произвольные трехмерные поверхности. Однако эта гибкость несколько усложняет построение обычных графиков функций двух переменных. Чтобы построить график функционально заданной поверхности д )'(х, у), массивы Х и У, передаваемые функции ввгУ, должны задавать сетку (как правило, равномерную), Значения массива 2 рассчитываются по формуле функциональной зависимости с использованием поэлементных операций над массивами Х и У.
Массивы Х и У в данном случае удобнее всего формировать с помошью специальной функции везлдгтб, имеюшей следующий синтаксис: [Х, У] - аезндпб(х, у) Здесь х и у — векторы, задающие наборы значений х- и у-координат. Формируемые массивы Х и У имеют )епдсл(у) строк и)евд1л(х) столбцов. Строки массива Х являются копиями вектора х, а столбцы массива У вЂ” копиями вектора у. Чтобы пояснить работу функции вез))дг1б, передадим ей два целочисленных вектора: » [Х, У] - яезпдгттб(1:5, -3.3) Х = 1 2 Э 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 У = -3 -2 -1 0 1 2 3 548 Приложение А, Основы работы с )ийтЫВ В качестве примера построим линии уровня для функции реваз.
Это демонстрационная функция трехмерной графики МАТ1 АВ, генерирующая поверхность с несколькими пиками и впадинами. Нанесем также на линии уровня оцифровку с помощью функции с1аЬе1 (рис. АЛ4): » [с. Ь) = соптоиг1реаХэ); с1аЬе1(с. Ь) Рис. А.14. Линии равного уровня, построенные с помощью функции соп)оцг, с оцифровкой, нанесенной функцией с!аЬе! Другие разновидности трехмерных графиков Кроме функций авгт и сопсоцг есть еше целый ряд функций с аналогичным синтаксисом, позволяющих получить другие разновидности трехмерных графиков.
Ниже перечислены только некоторые из этих функций, наиболее полезные в инженерных и научных приложениях: О ввгтс(Х, У. 1) — комбинация функций авгт и сопсоцг. Линии равного уровня выводятся на нижней координатной плоскости; Ы везЫХ, У. Е) — построение поверхности в виде сетки с окрашенными ребрами и незакрашенными четырехугольными ячейками; Ю везйс(Х, У.
1) — комбинация функций веад и сопеоцг. Линии равного уровня выводятся на нижней координатной плоскости; С) везйх(Х, У, Е) — то же, что аезв но с краев построенной сетчатой поверхности вниз спадает кзанавескб 549 Графика С) иаСегУа11(Х, У. Е) — то же, что везИ, но ребра, разделяющие ячейки, проводятся'только вдоль оси х. В результате объемное тело выглядит «нарезанным на ломтики»; (З зСеаЗ(Х, У, 7) — вывод трехмерного графика в виде «стебельков», начинающихся при; - 0 в точках, задаваемых массивамн Х и У. Высота «стебельков» определяется массивом 2; (З сопСоцгГ(Х, У, Е) — то же, что сопСоцг, но пространство между линиями равного уровня окрашено в различныс цвета в зависимости от значений Е; С1 сопсоцгЗ(Х.
У, Е) — то жс, что сопСоцг, но линии равного уровня рисуются не в одной плоскости, а при соответствующих значениях --координаты; (З рсо1ог(Х, У, Е) — строит двумерный график, представляющий собой сетку из четырехугольных ячеек, координаты вершин которых задаются массивами Х и У. Ячейки закрашены цветами, определяемыми значениями элементов массива Е. Тот же результат можно получить, если для поверхности, построенной функцией зцгг, установить точку обзора точно сверху. Настройка внешнего вида графиков В большинстве случаев параметры оформления графиков, выбираемые по умолчанию, оказываются вполне приемлемыми. Однако иногда для повышения выразитслыюсти изображения возникает необходимость изменить тип и цвет линий, нанести на график поясняющие надписи и т.
и. В данном разделе кратко рассматриваются соответствующие средства МАТ1.АВ. Настройка линий и точек Соединение точек графика отрезками синего цвета — нс единственный вариант отображения. МАТ) АВ позволяет управлять цветом графика, типом линии и способом отображения точек данных. Для этого используется дополнительный параметр команд р1оС, зсеа и т, п. Этот параметр представляет собой текстовую строку 'С1пе5рес', символы которой н указывагот нужные режимы; р1оС(х, у, 'с1пе5рес') Список возможных символов и их значения приведены в табл.