Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
практикум по матлабу.pdf
Скачиваний:
156
Добавлен:
29.03.2015
Размер:
1.19 Mб
Скачать

Обращение

Результат

axis(’off’)

Делает невидимыми оси, метки осей и над-

 

писи на осях.

axis(’on’)

Включает оси и их разметку.

 

 

8.1.4.Несколько графиков на листе

При необходимости вывести на один экран несколько графиков, т.е. разбить графическое окно на несколько отдельных частей, каждая из которых со своими осями, используется команда subplot(m n p) или, что тоже самое, subplot(m,n,p). Значение m указывает, на сколько частей окно разбивается по вертикали, n - по горизонтали, а p - порядковый номер подокна при счете слева направо и сверху вниз. Команда subplot используется как для создания нового подокна, так и для перехода от одного подокна к другому. После вызова этой команды plot нарисует график или графики в соответствующем подокне. Например, последовательность команд

x= -1:.1:1; y1=sin(x);

subplot(2, 1, 1), plot(x, y1); y2=log(abs(y1)); subplot(2, 1, 2), plot(x,y2);

строит два рисунка в верхней и нижней части экрана. В верхней части строится график sin(x), а в нижней части экрана - зависимость log(abs(sin(x))). Как видно из приведенной выше последовательности команд, при x=0 вычисляется log(0). При этом в командном окне появляется предупреждение, а график строится в точках 1 ≤ x ≤ 0.1 и 0.1 ≤ x ≤ 1.

8.2. Специальные виды графиков

Существует целый ряд функций высокого уровня, которые позволяют построить такие виды зависимости, как столбиковые диаграммы, гистограммы, ступенчатые зависимости и статистические кривые с указанием погрешностей.

8.2.1.Столбиковые диаграммы

Как правило, построение таких диаграмм у большинства ассоциируется с электронными таблицами или другими подобными средствами. Но поскольку MATLAB

140

используется и для финансового анализа (а также эта функция удобна для построения гистограмм), мы здесь с ней познакомимся.

Если необходимо построить столбиковую диаграмму, показывающую зависимость какой-либо величины, хранящейся в векторе bar_h, от номера каждого элемента, то это выполняется командой bar(bar_h). Если необходимо построить эту же зависимость, но от другой величины, то используется функция bar(bar_h,x). Если вам необходимо рисовать столбики определенного цвета или с помощью определенной линии, то можно использовать еще один аргумент у функции bar(x, y, line_style_string), который полностью эквивалентен такому же аргументу у команды plot(см. п. 8.1.2). Существуют еще разные возможности построения столбиковых диаграмм, когда аргументом является не вектор, а матрица. При этом возникают различные возможности группировки этих столбиков. Поскольку это выходит за рамки наших интересов, рекомендуем при необходимости ознакомиться с этими возможностями с помощью встроенной помощи(help bar).

8.2.2. Ступенчатые кривые

В системе MATLAB существует функция, которая создает ступенчатое изображение ваших данных. Например, вместо соединения каждой пары точек из вектороваргументов прямыми линиями (как это делает функция plot или line) функция stairs изображает ваши данные в виде горизонтальных отрезков на уровне yi, причем каждый отрезок горизонтальной линии длится от i до i + 1, если обращение имеет вид stairs(y), и от xi до xi+1, если обращение имеет вид stairs(x,y). Значения xi не должны быть равноотстоящими и не должны быть упорядочены по возрастанию. Вывод графика на экран можно предотвратить, используя обращение вида [xs,ys]=stairs(x,y). Потом этот график может быть выведен на экран с помощью команды plot, line или другим каким-нибудь способом (см., например, п. 8.6)

8.2.3.Гистограммы

Гистограмма является специальным видом столбиковой диаграммы. При построении гистограмы (т.е. графического изображения распределения некоторой величины) необходимо задавать определенное число бинов (иногда говорят: каналов гистограммы)6, определяя тем самым, сколько данных попадет в каждый бин, и

6Т.е. число разбиений переменной на интервалы, относительно которой и будет вычис-

ляться и строиться распределение. Например, если студенты имеют рост от 150 см до 200 см, то можно разбить этот интервал ростов на 10 бинов, по 5 см в каждом, т.е это интервалы от 150 см до 155 см и т.д. Так вот, гистограмма показывает, сколько студентов попадает в каждый

141

графически изображать это в виде столбиковой или ступенчатой диаграммы. В MATLAB существует функция hist, которая при обращении к ней в виде hist(y) вычисляет и рисует гистограмму с 10 бинами, равномерно распределенными между ymax и ymin. Кроме того, функция hist(y) может иметь второй аргумент. Если этот аргумент - целое число, то это число определяет число бинов. Если второй аргумент - вектор, то этот вектор определяет центры используемых бинов. В этом случае центры бинов должны быть равноотстоящими, а координаты этих центров должны быть расположены в возрастающем порядке. При нарушении любого из этих условий результат становится непредсказуемым.

Как и при использовании команды bar, можно блокировать вывод на экран гистограммы, присвоив результат выполнения функции hist(y) двум выходным аргументам. При обращении вида [n,x]=hist(y) или [n,x]=hist(y,num_of_bins)

или [n,x] = hist(y,bin_centers) вычисляются два вектора. Вектор n содержит число попаданий величины y в каждый из бинов, центры которых находятся в векторе x. Такое использование функции hist позволяет использовать для отрисовки гистограммы не столбиковую диаграмму (функцию bar), а, например, ступенчатую кривую (функцию stairs).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Пример постороения гистограммы с помощью STAIRS %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

y=randn(100,1);

% Генерация случайных чисел

dx=0.5;

% Ширина бинов

x=-2.5:dx:2.5;

% Центры бинов

[ny,xh]=hist(y,x);

% Вычисление параметров гистограммы

xh=xh-dx/2;

% Сдвиг координа по оси x на половину ширины бина

[xl,yl]=stairs(xh,ny);

% Вычисление координат ломаной

hl=line(xl,yl);

% Создание дескриптора ломаной линии и отрисовка ее

При использовании подобной конструкции будет создан дескриптор hl, который может быть далее использован для построения динамических гистограмм с помощью оператора set.

8.2.4. Изображение кривых с погрешностями («усами»)

При необходимости изобразить возможный диапазон погрешности кривой, полученной статистическими методами, используется функция errorbar(x,y,e). При

интервал ростов, или бинов.

142