8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
            
Раздел: Документация

0 ... 56 57 58 59 60 61 62 ... 365

□ отображение в пределах одного окна нескольких графиков, каждого на своих осях.

Вывод графиков в отдельные окна

Команда figure, определенная в MATLAB, служит для создания пустого графического окна и отображения его на экране. Окно становится текущим, т. е. все последующие графические функции будут осуществлять построение графиков в этом окне. Для получения нового графического окна следует снова использовать figure. Например, последовательность команд

» [X, Y] = meshgrid(-1:0.05:1, 0:0.05:1);

» 2 = 4*sin(2*pi*X).*cos(1.5*pi*Y).*(1 - Х.Л2).*У.*(1 - Y);

» figure

» mesh(X, Y, Z)

» figure

» surfKX, Y, Z)

приводит к появлению на экране двух графических окон: Figure 1, содержащего каркасную поверхность, и Figure 2 с освещенной поверхностью. Окно Figure 2 является текущим, т. к. было создано последним. Команды, набираемые далее, например

» colormap(copper1) » shading interp

приведут к изменениям именно в этом окне. Для того чтобы сделать графическое окно Figure 1 текущим, следует щелкнуть на нем мышкой, вернуться в рабочую среду MATLAB и продолжать ввод команд. Команды повлекут изменения в окне Figure 1. Для очистки всего текущего окна используется команда elf (сокращение от clear figure), а для того, чтобы убрать только график, но оставить оси, заголовок и названия осей, следует применить cla (сокращение от clear axes).

Вышеописанным способом можно получить сколько угодно графических окон и вывести в них графики различных функций или визуализировать векторные и матричные данные. Однако для изменения того или иного графика придется искать его окно на экране и делать его текущим при помощи щелчка мыши. Есть более универсальный и удобный способ работы с несколькими окнами. При создании каждого нового графического окна при помощи figure следует вызвать ее с выходным аргументом. Этот аргумент называется в MATLAB указателем на графическое окно. Значением выходного аргумента является число, совпадающее с номером графического окна.


Для того чтобы сделать графическое окно текущим, следует вызвать figure, указав в качестве входного аргумента указатель на требуемое графическое окно. Разберите использование указателей на следующем примере. Требуется создать два графических окна, построить в них графики функций / = sin л и g =1пл, а затем оформить их — дать заголовки и нанести сетку на второй график (рис. 3.47). Последовательность команд, приведенная ниже, позволяет получить желаемый результат.

» sinGr = figure;

» InGr = figure;

» x = [0.1:0.05:10];

» f = sin(x);

» g = log(x);

» figure(sinGr)

» plot(x, f)

» figure(InGr)

» plot(x, g)

» figure(sinGr)

» titleC\itf = sin\itx)

» figure(InGr)

» title) \itg = InUtx)

» grid on

Рис. 3.47. Вывод графиков в разные окна


Для того чтобы очистить графическое окно с указателем lnGr, следует использовать clf(inGr). Удаление графика из первого окна, на которое указывает sirtGr, ПРОИЗВОДИТСЯ при ПОМОЩИ cla (sinGr).

Вывод нескольких графиков на одни оси

Возможность отображения нескольких графиков функций одной переменной На ОДНИХ ОСЯХ ИСПОЛЬЗОВалаСЬ при изучении plot, piotyy, semilogx,

semilogy, loglog. Перечисленные команды позволяют выводить графики нескольких функций, задавая соответствующие векторные аргументы парами, например, plot (х, f, х, g). Однако при построении трехмерных графиков или различных типов графиков объединять их на одних осях не было возможности. Для объединения графиков предназначена команда hold on, которую нужно задать перед построением следующего графика. В следующем примере выводится пересечение плоскости и конуса, заданного параметрически. Результат приведен на рис. 3.48.

» u = (-2*pi:0.1*pi:2*pi);

» v = -2*pi:0.1*pi:2*pi;

» X = 0-3*u*cos(v);

» Y = 0.3*u*sin(v);

» Z = 0.6*u*ones(size(v));

» surf(X, У, Z)

» [X, У] = meshgrid(-2:0.1:2);

» Z = 0.5*X + 0.4*Y;

» hold on

» mesh{x, Y, Z)

» hidden off

Команда hidden off применена для того, чтобы показать часть конуса, находящуюся под плоскостью.

Обратите внимание, что hold on распространяется на все последующие выводы графиков. Для размещения графиков на новых осях следует выполнить команду hold off. Команда hold on может применяться и для расположения нескольких графиков функций одной переменной, например,

» plotfx, f, х, g)

эквивалентно последовательности

» plot(xr f) » hold on » plot(x, g)



0 ... 56 57 58 59 60 61 62 ... 365