"Вычисления, визуализация и программирование в среде MATLAB 5.x" - читать интересную книгу автора (Мартынов Н. Н., Иванов А. П.)MATLAB показывает графические объекты в специальных графических окнах, имеющих в заголовке слово Figure (фигура, изображение).
При построении графиков функций сразу проявляется тот факт, что очень большую часть работы MATLAB берет на себя. Мы в командной строке ввели лишь одну функцию, а система сама создала графическое окно, построила оси координат, вычислила диапазоны изменения переменных х и у, проставила на осях метки и соответствующие им числовые значения, провела через опорные точки график функции некоторым, выбранным по умолчанию, цветом, в заголовке графического окна надписала номер графика в текущем сеансе работы. 48 Глава 2. Визуализация результатов вычислений # Figure No. 1 ВВЕЗ! tdelp Рисунок 2.1 Не убирая с экрана дисплея первое графическое окно, вводим с клавиатуры выражения х = 0 : 0.01 : 2; z = cos ( x ); plot( х , z ) и получаем новый график функции в том же самом графическом окне (при этом старые оси координат и график пропадают - этого можно также добиться командой elf, командой cla удаляют только график с приведением осей координат к их стандартным диапазонам от 0 до 1) (см. рис. 2.2). ¦* Figure No. I Edit Window Help 1 -0.5 Рисунок 2.2 life MATLAB 5.x. Вычисления, визуализация, программирование 49 Если нужно второй график провести «поверх первого графика», то перед вторичным вызовом графической функции plot нужно выполнить команду hold on которая предназначена для удержания текущего графического окна. В результате будет получено следующее изображение (см. рис. 2.3). 4 Figure No. I ?ile Edit Window tielp Рисунок 2.3 Того же самого можно добиться, потребовав от функции plot построить сразу несколько графиков в рамках одних и тех же осей координат: у = sin( х ); z = cos( х ); plot( х , у , х , z ) У такого способа есть еще одно (кроме экономии на команде hold on) преимущество: разные графики автоматически строятся разным цветом. К недостаткам указанных способов построения нескольких графиков в пределах одних и тех же осей координат относится использование одного и того же диапазона изменения координат, что при несопоставимых значениях двух функций приведет к плохому изображению графика одной из них. Если все же нужно одновременно визуализировать несколько графиков так. чтобы они не мешали друг другу, то это можно сделать двумя способами. Пер вым решением является построение их в разных графических окнах. Например, построив графики функций sin и cos в пределах одного графического окна (по" казано выше), вычисляем массив значений w для функции ехр: w = ехр( х ); После этого выполняем команды figure; plot ( x , w ) 50 Глава 2. Визуализация результатов вычислений которые строят график функции ехр в новом графическом окне, так как команда figure создает это новое графическое окно и заставляет все последующие за ней функции построения графиков выводить их туда (см. рис. 2.4). В результате в первом графическом окне (Figure No.l) по вертикальной оси переменные изменяются в диапазоне от -0.5 до 1, а во втором графическом окне (Figure No.2)-от 0 до 8. i Fitjuie No. 1 Window help'*;*!¦-, ".-'{¦ i n; ¦ J Figure No. 2 ?ile Edit Window Help ИИ О Рисунок 2.4 Вторым решением показа нескольких графиков без конфликта диапазонов осей координат является использование функции subplot. Эта функция позволяет разбить область вывода графической информации на несколько подобластей, в каждую из которых можно вывести графики различных функций. Например, для ранее выполненных вычислений с функциями sin, cos и ехр строим графики первых двух функций в первой подобласти, а график третьей функции - во второй подобласти одного и того же графического окна: subplot(1,2,1); plot (x,y,x,z) subplot(1,2,2); plot(x,w) в результате чего получаем графическое окно следующего вида (см. рис. 2.5). Диапазоны изменения переменных на осях координат этих подобластей независимы друг от друга. Функция subplot принимает три числовых аргумента, первый из которых равен числу рядов подобластей, второй равен числу колонок подобластей, а третий аргумент - номеру подобласти (номер отсчитывается вдоль рядов с переходом на новый ряд по исчерпании). |
|
|