Построение и оформление двумерных графиков MatLab
Графики вещественнозначных функций вещественного переменного. Построение двумерных графиков. Пример построения графика синусоиды. Пример использования функции subplot. Оформление двумерных графиков в системе MatLab. Основные функции оформления графиков.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 30.04.2019 |
Размер файла | 826,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство образования и науки Российской Федерации
РЫБИНСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИСТЕТ имени П. А. СОЛОВЬЕВА
Факультет радиоэлектроники и информатики
Кафедра электротехники и промышленной электроники
Курсовая работа
по дисциплине Пакеты прикладных программ
на тему Построение и оформление двумерных графиков MatLab
Студенты группы НЭБ-15 Иванов Иван Иван
Руководитель доц. Седлецкая С.Э.
Нормоконтролер доц. Седлецкая С.Э.
Рыбинск 2018
Содержание
Введение
1. Теоретическая часть
2. Практическая часть
2.1 Построение двумерных графиков
2.2 Оформление двумерных графиков
Список использованных источников
Приложение А
Приложение Б
Введение
двумерный график синусоид matlab
С понятием графики связано представление о графических объектах, имеющих определенные свойства. В большинстве случаев об объектах можно забыть, если только вы не занимаетесь объектно-ориентированным программированием задач графики. Связано это с тем, что большинство команд высокоуровневой графики, ориентированной на конечного пользователя, автоматически устанавливает свойства графических объектов и обеспечивает воспроизведение графики в нужных системах координат, палитре цветов, масштабе и т. д.
В результате вычислений в системе MatLab обычно получается большой массив данных, который трудно анализировать без наглядной визуализации. Поэтому система визуализации, встроенная в MatLab, придаёт этому пакету особую практическую ценность.
Графические возможности системы MatLab являются мощными и разнообразными. В первую очередь целесообразно изучить наиболее простые в использовании возможности для построения различных двухмерных и трехмерных графиков, а также их настройки, редактирования и форматирования. Типы и подтипы графиков MatLab очень разнообразны. Список функций двумерной графики можно получить командой help graph2d. Несмотря на обилие графических команд, их синтаксис достаточно прост.
При построении графиков функций сразу проявляется тот факт, что очень большую часть работы MatLab берёт на себя. Вводя в командной строке лишь одну команду система сама создаёт графическое окно, построила оси координат, вычисляет изменения заданных диапазонов; ставит на осях метки и соответствующие им числовые значения, проводит через опорные точки график функции некоторым, выбранным по умолчанию, цветом; в заголовке графического окна надписывает номер графика в текущем сеансе работы.
1. Теоретическая часть
График или графическое изображение свойств, действий и законов явлений применим во всех случаях, когда факторы их могут быть определяемы числами. Все графические способы сводятся к замене чисел, собранных в таблицах наблюдений, обыкновенно прямыми линиями. Графический способ во множестве случаев позволяет приходить к заключениям и общим выводам легче, чем таблицы. В некоторых случаях можно даже избегнуть составления таблиц: самопишущие термометры и барометры прямо изображают суточные изменения температуры и давления. Но изобары, изотермы, изоклинические магнитные линии надо составлять из таблиц. Координаты могут быть в некоторых случаях не прямоугольны и не прямолинейны; вместо линий могут быть откладываемы угловые величины; вообще способ графического изображения явлений может подвергаться изменениям. В статьях, где понадобится применение графического способа, особенности каждого, если они сложны, будут объяснены. [1,С. 17]
График функции -- понятие в математике, которое даёт представление о геометрическом образе функции.
Абсциссой точки A называется координата этой точки на оси X'Х в прямоугольной системе координат. Как правило, обозначается буквой x. Величина абсциссы точки A равна длине отрезка OB. Если точка B принадлежит положительной полуоси OX, то абсцисса имеет положительное значение. Если точка B принадлежит отрицательной полуоси X'O, то абсцисса имеет отрицательное значение. Если точка A лежит на оси Y'Y, то её абсцисса равна нулю. В прямоугольной системе координат луч (прямая) X'X называется «осью абсцисс». При построении графиков функций, ось абсцисс обычно используется как область определения функции. [2,С. 18]
Ординатой точки A называется координата этой точки на оси Y'Y в прямоугольной системе координат. Как правило, обозначается буквой y. Величина ординаты точки A равна длине отрезка OC. Если точка C принадлежит положительной полуоси OY, то ордината имеет положительное значение. Если точка C принадлежит отрицательной полуоси Y'O, то ордината имеет отрицательное значение. Если точка A лежит на оси XX`, то её ордината равна нулю. В прямоугольной системе координат луч (прямая) Y'Y называется «осью ординат». При построении графиков функций, ось ординат обычно используется как область значений функции. [3,С. 17]
Наиболее наглядны графики вещественнозначных функций вещественного переменного.
В этом случае, график функции -- это геометрическое место точек плоскости, абсциссы (x) и ординаты (y) которых связаны указанной функцией: точка (x,y) (x, y) располагается (или находится) на графике функции f f тогда и только тогда, когда y=f(x).
Таким образом, функция может быть адекватно описана своим графиком.
Из определения графика функции следует, что далеко не всякое множество точек плоскости может быть графиком некоторой функции: никакая прямая, параллельная оси ординат, не может пересекать график функции более чем в одной точке. Если функция обратима, то график обратной функции (как подмножество плоскости) будет совпадать с графиком самой функции (это, попросту, одно и тоже подмножество плоскости).
К двумерным графикам относят графики в Декартовой и полярной системах координат. Созданный однажды график одного типа нельзя переделать в график другого типа (в отличие от трехмерных графиков). Для построения XY-графика необходимы два ряда данных, откладываемых по осям X и Y. [4,С. 17]
2. Практическая часть
2.1 Построение двумерных графиков
В режиме непосредственных вычислений доступны практически все возможности системы. Широко используется, например, построение графиков различных функций, дающих наглядное представление об их поведении в широком диапазоне изменения аргумента. При этом графики строятся в отдельных масштабируемых и перемещаемых окнах.
Возьмем вначале простейший пример -- построение графика синусоиды. Зададим интервал изменения аргумента х от 0 до 10 с шагом 0,1. Для построения графика достаточно вначале задать вектор х затем использовать команду построения графиков plot (рисунок 1.1)
х=[0:0.1:10];
plot(sin(x));
Вектор х задает интервал изменения независимой переменной от 0 до 10 с шагом 0,1. Шаг 0,1 взят потому, что plot строит не истинный график функции sin(x), а лишь заданное числом элементов вектора х число точек. Эти точки затем просто соединяются отрезками прямых. При 100 точках полученная кривая глазом воспринимается как вполне плавная.
Рисунок 1.1 - Пример построения графика синусоиды
Графики MatLab строит в отдельных окнах, называемых графическими окнами, имеющих в заголовке слово Figure. С первого взгляда видны отличия графического окна, показанного на рисунке 1.1, от командного окна MatLab. В главном меню окна появилась позиция Tools (Инструменты), которая позволяет вывести или скрыть инструментальную панель, видимую в верхней части окна графики на рисунке 1.1. Средства этой панели позволяют легко управлять параметрами графиков и наносить на них текстовые комментарии в любом месте.
Если мы, не убирая с экрана дисплея первое графическое окно, вводим и исполняем ещё один набор команд
х=[0:0.1:10];
y=cos( x );
plot( x , y )
то получаем новый график функции в том же самом графическом окне, при этом старые оси координат и график в нём пропадают.
Команда plot(x, y, s) позволяет выделить график функции с помощью строковой переменной s, которая может включать до трех символов предоставленных в таблице 1.1 и записываются следующим образом: plot(<x>, <y>, <'цвет линии, тип линии, маркер точек'>);
Таблица 1.1
Тип линии |
Тип точки |
Цвет |
|
Непрерывная - Штриховая -- Двойной пунктир : Штрих-пунктирная -. |
Точкa . Крест + Звездочка * Окружность 0 О Ромб D Квадрат S Пятиугольник Р Шестиугольник H Треугольники V А < > |
Желтый y Фиолетовый m Голубой c Красный r Зеленый g Синий b Белый w Черный k |
Например, график указанный на рисунке 1.1 при добавлении plot(sin(x),'--Or') будет таким как показано на рисунке 1.2
Рисунок 1.2 - Штриховая синусоида с кружочками красного цвета
Если цвет линии не указан, он выбирается по умолчанию из шести первых цветов, с желтого до синего, повторяясь циклически [5,С. 17].
Еще один вид графика построения дискретной функции командой stem, которая выводит график элементов одномерного массива y в виде вертикальных линий, которые заканчиваются в точках графика, помечаемых кружочком. Команда stem(sin(x)) выводит график элементов массива y в виде вертикальных линий в позициях, определяемых синусоидой x (рисунок 1.3).
Рисунок 1.3 - Дискретная функция
Команды stem(sin(x)), <тип линии>), позволяют задать тип линий, используемых для построения дискретного графика, по аналогии с командой plot.
Следующий вид графика - столбцовые диаграммы. Команда bar(x) выводит график элементов одномерного массива x в виде столбцов в позициях, определяемых массивом x, элементы которого должны быть упорядочены в порядке возрастания (рисунок 1.4).
Рисунок 1.4 - Столбцовые диаграммы
Команды bar(y, `<тип линии>`), позволяют задать тип линий, используемых для построения столбцовых диаграмм, по аналогии с командой plot. Также существует функция barh, создающая горизонтальные столбцовые диаграммы (более подробно про специальные графики в [Приложении А]) .
Если нужно второй график провести "поверх первого графика", то перед исполнением второй графической команды plot, нужно выполнить команду
hold on
которая предназначена для удержания текущего графического окна и имеет 2 варианта hold on и hold off. Например, объединив plot(sin(y),'--Or') и
stem(sin(x)) командой hold on получим изображение на рисунке 1.5
Рисунок 1.5 - Пример объединения
Того же самого можно добиться, потребовав от функции plot построить сразу несколько графиков в рамках одних и тех же осей координат:
x = 0 : 0.01 : 2;
y = sin( x ); z = cos( x );
plot( x , y , x , z )
Если всё же нужно одновременно визуализировать несколько графиков так, чтобы они не мешали друг другу, то это можно сделать двумя способами, с помощью создания новых, отдельных окон и с помощью команды subplot.
Первое, можно построить их в разных графических окнах. Например, построив графики функций sin и дискретную функцию, выполняем команду figure, где (1) - индекс окна.
figure(1);
stem(sin(x));
figure(2);
plot(sin(x),'--Or');
которая построет график функции в новом графическом окне, так как команда figure создаёт новое (добавочное) графическое окно, и все последующие за ней команды построения графиков выводят их в новое окно (рисунок 1.6).
Рисунок 1.6 - Два отдельных окна с разными графиками
Вторым решением рассматриваемой задачи показа сразу нескольких графиков без конфликта диапазонов осей координат является использование функции subplot. Эта функция позволяет разбить область вывода графической информации на несколько подобластей, в каждую из которых можно вывести графики различных функций.
Например, ранее выполненные графики разместим в одном и том же графическом окне первые два в одной строке, а третий отдельно в следующей строке.
subplot(2,2,1);
plot(sin(x),'--Or');
subplot(2,2,2);
stem(sin(x));
subplot(2,1,3);
bar(y);
в результате чего получаем графическое окно, указанное на рисунке 1.7:
Рисунок 1.7 - Пример использования функции subplot
Диапазоны изменения переменных на осях координат этих подобластей независимы друг от друга.
Функция subplot принимает три числовых аргумента
Первое число - равно числу строк;
Второе число - равно числу столбцов;
Третье число - текущий номер активного окна (номер отсчитывается вдоль рядов с переходом на новый ряд по убыванию).
2.2 Оформление двумерных графиков
Система MatLab автоматически масштабирует систему координат для полного представления данных. Однако такая автоматическая настройка не всегда может удовлетворять интересам пользователя. Иногда требуется выделить отдельный фрагмент графика и только его показать целиком. Для этого используется функция axis() языка MatLab, которая имеет следующий синтаксис: axis( [ xmin, xmax, ymin, ymax ] ),
где название указанных параметров говорят сами за себя.
Воспользуемся данной функцией для отображения графика функции синуса в пределах от 0 до 10:
x =[0:0.1:10];
y =sin(x);
subplot(1,2,1);
plot(x,y);
axis([0 10 -1 1]);
subplot(1,2,2);
plot(x,y);
axis([0 10 0 1]);
Из результата работы программы (рисунок 1.8) видно, что, несмотря на то, что функция синуса задана в диапазоне от 0 до 10, с помощью функции axis() можно отобразить как весь график, так и его фрагмент в пределах от 0 до 10.
Рисунок 1.8 - Пример работы функции axis()
Одна из возможностей MatLab это создания подписей графиков, осей и отображения сетки на графике. Для этого используются функции языка MatLab, перечисленные в таблице 1.2
Таблица 1.2. Функции оформления графиков
Название |
Описание |
|
grid [on, off] |
Включает/выключает сетку на графике |
|
title(`заголовок графика') |
Создает надпись заголовка графика |
|
xlabel(`подпись оси X') |
Создает подпись оси X |
|
ylabel(`подпись оси Y') |
Создает подпись оси Y |
|
text(x,y,'текст') |
Создает текстовую надпись в координатах (x,y). |
|
gtext('текст') |
Создает текстовую надпись в отмеченной мышью точке |
Рассмотрим работу данных функций в следующем примере, результат выведен на рисунок 1.9.
plot(sin(x),'--Or');
title ('Синусоида')
xlabel ('Время')
ylabel ('Амплитуда')
grid on
gtext('текст от gtext')
Рисунок 1.9 - Пример оформления синусоиды
Дополнительно можно изменить размеры графика (см. меню Tools (Инструменты) и его команды Zoom In (Увеличить) и Zoom Out (Уменьшить)), начать поворот графика мышью (команда Rotate 3D), подключить к графику легенду -- пояснение в виде отрезков линий со справочными надписями, размещаемое внутри графика или около него. Возможно также применение команды legend('s1', 's2',...), выводящей легенду обычного вида -- отрезки линий графиков с поясняющими надписями 's1', 's2' и т.д. Поскольку наш график содержит две кривые, то легенда представляет собой обозначение этих двух линий в правом верхнем углу рисунка (рисунок 1.10). Пример использования legend:
f1=cos(x);
f2=sin(x)
hold on
plot(f2,'-r');
plot(f1,'-b');
grid on
legend('синяя линия', 'красная линия')
Рисунок 1. 10 - Пример использования legend
Расположение легенды можно поменять с помощью нажатия правой кнопки мыши и параметра Location, либо простым переносом с зажатой левой кнопкой мыши.
Все команды оформления, описанные выше и приведённые в таблице 1.1 и 1.2 можно задать прямо в графическом окне без использования команд с помощью вкладок Insert и Tools (рисунок 1. 11)
Рисунок 1.11 - Возможности вкладок Insert и Tools
Список использованных источников
1. Энциклопедический словарь Брокгауза и Ефрона: в 86 т. (82 т. и 4 доп.). -- СПб., 1890--1907.
2. Н. М. Шанский, Т. А. Боброва. Школьный этимологический словарь русского языка. -- Дрофа, 2004.
3. Б. А. Розенфельд. Аполлоний Пергский. -- Москва: Издательство Московского центра непрерывного математического образования (МЦНМО), 2004. -- С. 39. -- 176 с.
4. Сайт [Электронный ресурс] свободной энциклопедии https://ru.wikipedia.org/wiki
5. Потемкин В.Г. Справочник по MATLAB М. Интернет, 2012.
6. Сайт [Электронный ресурс] MatLab mathworks.com/help/
7. Сайт [Электронный ресурс] Техническая библиотека lib.qrz.ru
Приложение А
% Примеры. Для проверки функции или команды убрать с нужного примера знак
% комментария "%" в начале, перед нужным интервалом и перед нужным примером
% или командой.
%интервалы
%x=[0:1:10]; % интервал от 0 до 10, с шагом 1
%x=[0:0.9:9]; % интервал от 0 до 9, с шагом 0.9
%x =[0:0.1:10]; % интервал от 0 до 10, с шагом 0.1
%y=[0:1:10]; % интервал от 0 до 10, с шагом 1
%ПРИМЕРЫ ДВУМЕРНЫХ ГРАФИКОВ/СПЕЦИАЛЬНЫЕ ГРАФИКИ
%plot(sin(x)); % команда построения графиков; (sin(x)) строит cинусоиду.
%plot(sin(x),'--Or'); % синусойда штрих-кружок-красный
%bar(y); % Столбцовая диаграмма
%barh(sin(x); % Столбцовая диаграмма с горизонтальным расположением
%stem(sin(x)); % График дискретных значений
%area(sin(x)); % Закраска областей графика
%errorbar(sin(x)); % График с указанием интервала погрешности
%ezplot(sin(x)); % Построение графиков с использованием диалогового окна
%feather(sin(x)); % График векторов-стрелок, исходящих из равноотстоящих точек горизонтальной оси
%fill(sin(x)); % Закраска многоугольников
%pareto(sin(x)); % График результатов профилирования программы
%pie(sin(x)); % Круговая диаграмма
%plotmatrix(sin(x)); % График матрицы
%quiver(sin(x)); % График поля направлений
%ribbon(sin(x)); % Изображение линий на трехмерном графике
%stairs(sin(x)); % Ступенчатый график
%hist(sin(x)); % Построение гистограммы
%compass(sin(x)); % График векторов-стрелок, исходящих из начала координат
%comet(sin(x)); % Движение точки по траектории синусоиды
%ПРИМЕР HOLD ON
%hold on % объединение двух графиков в одном окне; off-выключает
%bar(y); % cтолбцовые диаграммы
%plot(sin(x),'--Or'); % синусойда штрих-кружок-красный
%ПРИМЕР FIGURE
%figure(1); % создание графического окна №1
%stem(sin(x)); % дискретная функция
%figure(2);% создание графического окна №2 ((2)-индекс)
%plot(sin(x),'--Or'); % синусойда штрих-кружок-красный
%ПРИМЕР SUBPLOT
%subplot(2,2,1); % создание нескольких графиков в 1 окне без объединения
%plot(sin(x),'--Or'); % синусойда штрих-кружок-красный
%subplot(2,2,2); % создание нескольких графиков в 1 окне без объединения
%stem(sin(x)); % дискретная функция
%subplot(3,1,3);% создание нескольких графиков в 1 окне без объединения
%bar(y); % cтолбцовые диаграммы
%ПРИМЕР AXIS
%y=sin(x); % синусоида
%subplot(1,2,1); % создание нескольких графиков в 1 окне без объединения
%plot(x,y); % команда построения графиков
%axis([0 10 -1 1]); % выделение отдельного фрагмента графика
%subplot(1,2,2); % создание нескольких графиков в 1 окне без объединения
%plot(x,y); % команда построения графиков
%axis([0 10 0 1]); % выделение отдельного фрагмента графика
%ПРИМЕР ОФОРМЛЕНИЯ
%f1=cos(x); %
%f2=sin(x) %
%hold on % объединение двух графиков в одном окне; off-выключает
%plot(f2,'-r'); % команда построения графиков
%plot(f1,'-b'); % команда построения графиков
%title ('Синусоида') Заголовок графика
%xlabel ('Время') название оси X
%ylabel ('Амплитуда') название оси Y
%grid on % Включает сетку на графике; off-выключает
%ПРИМЕР LEGEND
%f1=cos(x);
%f2=sin(x);
%hold on % объединение двух графиков в одном окне; off-выключает
%plot(f2,'-r'); % команда построения графиков
%plot(f1,'-b'); % команда построения графиков
%legend('красная линия', 'синяя линия') % создание легенды
Приложение Б
% Пример построения графика и его оформления. Задание четвертого семестра по предмету
%Методы анализа и расчету электрических
%схем. Выполнил Тикишев А.Т. гр. НЭБ-15 Задача: Отметить графически отметить точки "пересечения"
%синусоиды и экспоненты.
x=0:1/10^(6):10/55;
w=55;
y=5*sin(2*pi*w*x); % кривая синусоиды
y1=exp(x); % кривая экспоненты
plot(x,y,x,y1) % команда построения графиков
n=1.8*10^5;
c=1;
hold on % объединение двух графиков в одном окне
title ('Пример') % Заголовок
xlabel ('Время') % Ось Х
ylabel ('Амплитуда') % Ось Y
grid on % Включает сетку на графике
for i=1:n % алгоритм нахождения "пересечений"
if y(i)>=y1(i) && c==1
hold on % объединение двух графиков в одном окне
plot (x(i),y(i),'Or') % Помечает точки "пересечения" красными окружностями
c=2;
else
if y(i)<=y1(i) && c==2
hold on % объединение двух графиков в одном окне
plot (x(i),y(i),'Vm') % Помечает точки "пересечения" перевернутыми фиолетовыми треугольниками
c=1;
end
end
end
Размещено на Allbest.ru
Подобные документы
Общие сведения о языке программирования Matlab. Функции работы с векторами и матрицами. Операторы условных переходов. Построение двумерных графиков. Построение гистограммы изображения. Функции его преобразования и зашумления, метрики определения качества.
лабораторная работа [853,5 K], добавлен 25.10.2015Определение возможностей математического пакета и изучение методов вычисления выражений в Mathcad. Возможности построения графиков функций одной переменной. Просмотр и способы построения графика функции одного аргумента и участков двухмерных графиков.
контрольная работа [384,8 K], добавлен 06.03.2011Простейший способ построения 2D-графика. Способы проектирования двух графиков в одной системе координат. Закрепление графического окна. Дополнительные параметры команды plot. Axis: управление масштабом. Оформление графиков. Построение 3D-поверхности.
презентация [962,5 K], добавлен 24.01.2014Назначение и возможности пакета MATLAB. Цель интерполирования. Компьютерная реализация решения инженерной задачи по интерполяции табличной функции различными методами: кусочно-линейной интерполяцией и кубическим сплайном, а также построение их графиков.
контрольная работа [388,3 K], добавлен 25.10.2012Технология работы с программой Microsoft Excel, ее функциональные возможности и взаимодействие с другими программами Office. Методика выполнения расчетов, вычисления логарифмических и тригонометрических функции в Excel. Построение графиков и диаграмм.
контрольная работа [1,2 M], добавлен 05.06.2009Мультимодульная программа расчёта и построения графиков переходного процесса в электрической цепи, ее процедуры и функции. Распечатка текста и графики процесса, построенные с использованием стандартных модулей Турбо Паскаля CRT и GRAPH и Microsoft Excel.
курсовая работа [880,7 K], добавлен 07.12.2011Особенности графики системы MATLAB и ее основные отличительные черты. Построение графика функций одной переменной. Графики в логарифмическом масштабе, построение диаграмм, гистограмм, сфер, поверхностей. Создание массивов данных для трехмерной графики.
реферат [1,4 M], добавлен 31.05.2010Методика и основные этапы построения ранжированных переменных, сферы и особенности их практического применения. Порядок построения графиков в декартовой системе. Приведение примеров решение нелинейных уравнений и их систем при помощи решающего блока.
контрольная работа [364,4 K], добавлен 27.03.2011Возможности Matlab, выполнении математических и логических операций, интерактивные инструменты построения графиков. Конструкции для обработки и анализа больших наборов данных, программные и отладочные инструменты, оптимизация данных, операций и функций.
статья [170,5 K], добавлен 01.05.2010Команды, используемые для построения графиков функций одной переменной (двумерная графика). Назначение и возможности команды plot (), расположенной в системной библиотеке Maple, ее операции и принцип работы. Порядок отображения графиков функций.
лабораторная работа [141,8 K], добавлен 15.07.2009