Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MATLAB-3.doc
Скачиваний:
22
Добавлен:
09.02.2015
Размер:
3.49 Mб
Скачать
    1. Специальная графика

Раздел специальной графики включает команды для построения диаграмм, гистограмм и прочих дискретных графиков.

»x = 0 : 0.5 : 5;

»y = sin(x);

»bar(x, y)

»x = 0 : 0.1 : 5;

»y1 = sin(x); y2 = cos(x);

»y = [y1; y2];

»bar(x, y, 'stack')

Рис. 4.17

»x = [ 10 3 0.5 2];

»pie(x, [0 1 0 1])

»x = –3 : 1 : 3;

»t = randn(50, 1);

»hist(t, x)

Рис. 4.18

Рис. 4.19

Столбцовые диаграммы реализуются командами bar и barh:

bar(y), bar(x, y), h = bar(...), где y – массив (одно- или двумерный), x – одномерный, упорядоченный по возрастанию массив (число смежных по горизонтали столбцов диаграммы равно числу столбцов массива у); можно указать параметры относительной ширины столбцов (1 – касание, >1 – перекрытие, <1 – с промежутками), или стиля ('group', 'stack'). Два варианта использования команды bar представлены на рис. 4.17. Команда barh(...) отличается лишь размещением столбцов не по вертикали, а по горизонтали.

Секторная диаграмма (рис. 4.18) реализуется командой h = pie(...), pie(x), pie(x, y), где y – вектор из 0 и 1 для отделения от диаграммы части секторов.

Построение гистограммы hist(y), hist(y, x), hist(y, n), [p, x] = hist(y, ...) реализует подсчет числа элементов по столбцам массива y в n (по умолчанию 10) интервалах, что показано на рис. 4.19.

Дискретный график stem(y), stem(x, y), stem(...,'fill'), stem(..., LineSpec), h=stem(...) аналогичен столбцовой диаграмме и выводит значения в виде отрезков с маркером ('fill' – закраска маркера), что представлено на рис. 4.20.

»x = –3 : 0.2 : 3;

»f = exp(–x.^2);

»stem(x, f)

»x = –3 : 0.2 : 3;

»f = exp(–x.^2);

»scatter(x, f, 'filled')

Рис. 4.20

Рис. 4.21

Вывод поля точек (рис. 4.21) выполняется командой scatter(x, y, ...) с возможностью указывать размер, цвет и заполненность маркера.

Существуют команды поворота графического объекта rotate, например:

»h = surf(...);

»rotate(h, [1 0 0 ], 90) % поворот по оси х на 90°

и команды поворота графического объекта с помощью мыши rotate3d on | ON | off (on – режим включен, off – выключен, ON – подавляет информацию о текущих углах).

    1. Графики поля градиентов quiver

Для построения графиков полей градиента служат команды quiver: quiver(X, Y, U, V) строит график поля градиентов в виде стрелок для каждой пары элементов массивов X и Y, причем элементы массивов U и V указывают направление и размер стрелок; quiver(U, V) строит векторы скорости в равнорасположенных точках на плоскости (х, y); quiver(U, V, S) или quiver(X, Y, U, V, S) автоматически масштабирует стрелки по сетке и затем вытягивает их по значению S; quiver(..., LINESPEC) использует для векторов указанный тип линии. Указанные в LINESPEC маркеры рисуются у оснований, а не на концах векторов. Для отмены любого вида маркера используйте спецификацию '.'. Спецификации линий, цветов и маркеров были подробно описаны в 4.1; quiver(..., 'filled') дает график с закрашенными маркерами; H = quiver(...) строит график и возвращает вектор дескрипторов. Пример применения команды quiver представлен на рис. 4.22.

»[x, y] = meshgrid(–1 : .2 : 1, –1 : .2 : 1);

»z = x.*exp(–x.^2 – y.^2);

»[px, py] = gradient(z, .2, .2);

»quiver(x, y, px, py, 2);

»[x, y] = meshgrid(–2 : .2 : 2, –1 : .15 : 1);

»z = x .* exp(–x.^2 – y.^2);

»[u, v, w] = surfnorm(x, y, z);

»quiver3(x, y, z, u, v, w);

»hold on, surf(x, y, z), hold off

Рис. 4.22

Рис. 4.23

Изображение поля градиентов стрелками дает наглядное представление о линиях поля, указывая области, куда эти линии впадают и откуда они исходят; quiver3 рисует 3D-график в виде стрелок (рис. 4.23).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]