Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаба2.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
179.71 Кб
Скачать

23

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Государственное образовательное учреждение

высшего профессионального образования

САМАРСКИЙ ГОСУДАРСТВЕННЫЙ

ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Филиал в г. Сызрани

ПОСТРОЕНИЕ И ФОРМАТИРОВАНИЕ ГРАФИКОВ В MATLAB

Методические указания к лабораторной работе

Составитель: Парпуц М.В.

Утверждено на заседании кафедры электротехники, информатики и компьютерных технологий 30.10.03.

Сызрань 2003

ПОСТРОЕНИЕ И ФОРМАТИРОВАНИЕ ГРАФИКОВ

В MATLAB

Цель работы – изучение функциональных возможностей математического пакета MATLAB и приобретение навыков практической работы по построению и форматированию графиков функций двух и трех переменных и визуализации векторных и матричных данных.

Представление векторных данных

Диаграммы векторных данных

Наглядным способом представления векторных и матричных данных явля­ются диаграммы и гистограммы. Значение элемента вектора пропорцио­нально высоте столбика диаграммы (в случае столбчатой диаграммы) или площади сектора диаграммы (для круговой диаграммы). Гистограммы ис­пользуются для получения информации о распределении данных по задан­ным интервалам.

!! Запишите, вектор-строку

х = [1.2 1.7 2.2 2.4 2.5 1.3 1.1 0.5 0.4 0.1]

Отображение вектора в виде столбчатой диаграммы осуществляется функцией bar, аргументом которой является изображаемый вектор.

!! Представьте х столбчатой диаграммой.

На экране появится графическое окно, содержащее столбчатую диаграмму вектор-строки. По горизонтальной оси откладывается номер элемента вектора, а по вертикальной — его значение. Аргументом функции bar может быть как вектор-строка, так и вектор-столбец.

!! Закройте графическое окно.

Разметку горизонтальной оси можно задать вектором с возрастающими зна­чениями. В этом случае первый аргумент bar является вектором с координа­тами точек разметки, а второй — вектором значений, которые требуется отобразить на диаграмме. Удобно использовать этот способ построения диаграммы для отображения значений элементов векторов в зависимости не от их номера, а, например, от времени, если в вектор записаны результаты измерений в некоторые моменты времени. Важно, чтобы длины этих векто­ров совпадали, иначе будет выдано сообщение об ошибке.

!! Введите вектора time= [0.0 0.1 0.2 0.4 0.5 0.8 1.1 1.3] и data=[2.85 2.93 2.99 3.26 3.01 2.25 2.09 1.79]. Постройте зависимость вектора data от вектора time.

Пропущенные столбики соответствуют тем моментам времени, в которые измерения не производились.

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

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

Функция barh строит горизонтальную столбчатую диаграмму, т. е. повернутую на девяносто градусов. Для построения объемных диаграмм применяется функция bar3. Использование barh и bar3 аналогично bar.

!! Постройте диаграммы по значениям тех же векторов, используя функции barh и barЗ.

Если требуется оценить вклад каждого из элементов вектора в общую сумму его элементов, то удобно построить круговую диаграмму при помощи функции pie, аргументом которой тоже является вектор.

!! Введите вектор s=[2.5 1.6 1.3 5.6 1.2 9] и s1=[0.01 0.2 0.5].

!! Постройте круговую диаграмму для вектора s и s1.

В результате получается диаграмма, в которой площади секторов отвечают процентному вкладу каждого из элемен­тов вектора в общую сумму, т. е. MATLAB нормирует значения, вычисляя data/sum(data).

Если сумма элементов вектора (аргумента рiе) больше или равна единице, то MATLAB производит нормировку и строит круг, состоящий из секторов. Если сумма меньше единицы, то нормировка не производится и получается круг с пропущенным сектором.

Часто необходимо отодвинуть от круга диаграммы сектор, соответствующий некоторому элементу. Это можно проделать, задав вторым аргументом функции рiе вектор, состоящий из единиц и нулей, причем единица стоит в позиции, соответствующей номеру отделяемой части.

!! Постройте диаграмму для вектора s с отделен­ным третьим и пятым сектором, используя вспомогательный вектор n.

Можно отделить несколько секторов, расположив единицы во вспомога­тельном векторе на подходящих позициях. Важно только, чтобы размеры векторов были одинаковы.

!! Напишите команды построения диаграммы с отде­ленным сектором, соответствующим максимальному значению среди эле­ментов вектора, автоматически создав вспомогательный вектор. (Используйте функции zeros для создания нулевого вектора, той же длины, что х, и mах с двумя выходными аргументами для поиска номера максимального элемента в векторе х.)

Визуализация векторных данных может быть осуществлена при помощи piе3, которая строит трехмерные круговые диаграммы.

!! Постройте трехмерную круговую диаграмму с отделенным четвертым сек­тором.