Как построить графики в matlab

Построение графиков функций

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

Где прописывать код

Графики MATLAB

Построение графиков функций в MATLAB можно реализовать разными способами, например, через plot или polar, с полным списком можете ознакомиться здесь.
Но сейчас речь пойдёт о функции ezplot.
Разберём такой пример:

Открываем скрипт и пишем нехитрый код:

Вывод:

На этом примере мы видим, как работает функция ezplot(), где в качестве аргументов указывается функция без ‘y=’ и интервал значений в квадратных скобках. Чтобы построить два графика в одном окне используем hold on. А axis tight — устанавливает границы осей в диапазоне данных значений.
Разберём ещё один:


Его скорее всего проще записать в компилятор напрямую.
Давайте ещё один:


И последний:


В данном случае мы указали границы оси с помощью axis от до π.

Если остались вопросы по поводу построения графиков функций в MATLAB, то обязательно пишите в комментариях, ответим.

Источник

Строим графики в MATLAB

Первая и самая часто встречающаяся функция это plot(. ), параметры умышленно не пишу, сейчас будем в них разбираться.

Во-первых, стоит разделить реализации на две основные группы. Первая из них принимает два параметра plot(x, y), еслимы обозначим ось абсцисс за X, а ось ординат за Y, то наша функция последовательно наставит нам на координатной плоскости точек и единственным требованием к массивам х и у будет равенство их длин. Возьмем 4 случайные точки и построим их.

В итоге получаем следующую ломаную:

Массив ординат тот же, что и ранее, но результат уже другой.

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

Если нужно включить сетку, то можно воспользоваться командой grid on, за одно давайте сменим функцию на какую-нибудь более красивую.

Отмечу также, что можно занять несколько ячеек разметки одним графиком. Теперь вернемся к вопросу построения нескольких кривых в одних осях координат. Строить будем в одном окне сразу оба по этому применим subplot. Будем строить один под другим, соответственно у нас получится subplot(2, 1, 1) и subplot(2, 1, 2).

Первый метод это подставить в plot несколько пар значений plot(x1,y1,x2,y2) второй способ применить команду hold on. Посмотрим на код и результат его работы.

Вот и настал тот момент, когда возникает вопрос: «А что на Вашем графике есть что?», чтобы он не возникал давайте научимся подписывать графики, настраивать параметры линий, отображать «легенду». Про параметры линий я скажу пару слов отдельно, а все остальное покажу в коде и там же подробно прокомментирую.

При задании спецификации линий существует два типа нотаций укорченная и полная, например, цвет можно задать параметром ‘color’ или сокращенно первой буквой от названия цвета.

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

Отдельно скажу, что есть еще метод суперзаголовка, но похоже он в одном из тулбоксов и в чистом MATLAB не доступен.

Источник

Документация

Синтаксис

Описание

Чтобы построить набор координат, соединенных с методической точностью сегменты, задайте X и Y как векторы из той же длины.

Чтобы построить несколько наборов координат на том же наборе осей, задайте по крайней мере один из X или Y как матрица.

Читайте также:  баня электрическая под ключ

plot( X 1, Y 1, LineSpec 1. X n, Y n, LineSpec n) присваивает определенные стили линии, маркеры, и окрашивает к каждому x— y пару. Можно задать LineSpec для некоторого x— y пары и не используют его для других. Например, plot(X1,Y1,’o’,X2,Y2) задает маркеры для первого x— y пара, но не для второй пары.

Примеры

Построение графика

Построение нескольких графиков

Построение графика из матрицы

Задайте Y как матрица 4 на 4, возвращенная magic функция.

Постройте 2D график для данных Y MATLAB® строит график для каждого столбца матрицы как новый график, новой линией.

Определение стиля линии

Постройте три синусоиды с маленьким сдвигом фазы между каждой линией. Используйте стиль линии по умолчанию для первой линии. Задайте стиль пунктирной линии для второй линии и стиль точечной линии для третьей линии.

MATLAB® циклически повторяет цвет линии через порядок цвета по умолчанию.

Определение стиля линии, цвета и маркера

Постройте три синусоиды с маленьким сдвигом фазы между каждой линией. Используйте зеленую линию без маркеров для первой синусоиды. Используйте синюю пунктирную линию с круговыми маркерами для второй синусоиды. Используйте только голубые маркеры-звездочки для третьей синусоиды.

Отображение маркеров в определенных точках данных

Постройте график и маркеры отображения в каждой пятой точке данных путем определения символа маркера и установки MarkerIndices свойство как пара «имя-значение».

Определение ширины линии, размера маркера и цвета маркера

Постройте график и используйте LineSpec опция, чтобы задать пунктирную зеленую линию с квадратными маркерами. Используйте Name,Value пары, чтобы задать ширину линии, размер маркера и цвета маркера. Установите цвет обводки маркера на синий и выберите цвет поверхности маркера с помощью значения цвета RGB.

Добавление заголовка и подписей по осям

Графическое изображение длительности и определение формата метки деления

Задайте t как семь линейно расположил с интервалами duration значения между 0 и 3 минутами. Отобразите случайные данные на графике и задайте формат duration отметки деления с помощью ‘DurationTickFormat’ аргумент пары «имя-значение».

Задание осей для графика

Изменение линни после ее создания

Измените ширину первой линни, задав значение 2. Добавьте маркеры-звездочки во вторую линию. Используйте запись через точку, чтобы установить свойства.

Рисование окружности

Постройте круг, сосредоточенный в точке (4,3) с радиусом, равным 2. Используйте axis equal для задания одинаковых маштабов по осям.

Входные параметры

x- в виде скаляра, вектора или матрицы. Размер и форма X зависит от формы ваших данных и типа графика, который вы хотите создать. Эта таблица описывает наиболее распространенные ситуации.

Задайте X и Y как скаляры и включают маркер. Например:

Задайте X и Y как любая комбинация строки или вектор-столбцы той же длины. Например:

Задайте последовательные пары X и Y векторы. Например:

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration

y- в виде скаляра, вектора или матрицы. Размер и форма Y зависит от формы ваших данных и типа графика, который вы хотите создать. Эта таблица описывает наиболее распространенные ситуации.

Задайте X и Y как скаляры и включают маркер. Например:

Задайте X и Y как любая комбинация строки или вектор-столбцы той же длины. Например:

Задайте последовательные пары X и Y векторы. Например:

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration

LineSpec — Стиль линии, маркер и цвет
вектор символов | строка

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

Читайте также:  Как правильно выбрать мужской велосипед

Пример: ‘—or’ красная пунктирная линия с круговыми маркерами

ax — Целевые оси
Axes возразите | PolarAxes возразите | GeographicAxes объект

Целевые оси в виде Axes объект, PolarAxes объект или GeographicAxes объект. Если вы не задаете оси, графики MATLAB в текущую систему координат, или это создает Axes возразите, не существуете ли вы.

Чтобы создать полярный график или географический график, задайте ax как PolarAxes или GeographicAxes объект. В качестве альтернативы вызовите polarplot или geoplot функция.

Аргументы name-value

Пример: ‘Marker’,’o’,’MarkerFaceColor’,’red’

Цвет линии в виде триплета RGB, шестнадцатеричного цветового кода, названия цвета или краткого названия.

Для пользовательского цвета задайте триплет RGB или шестнадцатеричный цветовой код.

Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.

Название цвета Краткое название Триплет RGB Внешний вид
‘red’ ‘r’ [1 0 0]

Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию использованием MATLAB во многих типах графиков.

Название цвета Краткое название Триплет RGB Шестнадцатеричный цветовой код Внешний вид
‘red’ ‘r’ [1 0 0] ‘#FF0000’

Пример: ‘blue’

Пример: [0 0 1]

Пример: ‘#0000FF’

LineStyle — Стиль линии
‘-‘ (значение по умолчанию) | ‘—‘ | ‘:’ | ‘-.’ | ‘none’

Стиль линии в виде одной из опций перечислен в этой таблице.

Триплет RGB Шестнадцатеричный цветовой код Внешний вид
[0 0.4470 0.7410] ‘#0072BD’
‘none’ Никакая линия Никакая линия

LineWidth ‘LineWidth’
0.5 (значение по умолчанию) | положительное значение

Ширина линии в виде положительного значения в точках, где 1 точка = 1/72 дюйма. Если у линии есть маркеры, ширина линии также влияет на края маркера.

Ширина линии не может быть более тонкой, чем ширина пикселя. Если вы устанавливаете ширину линии на значение, которое меньше ширины пикселя в вашей системе, отображения линии как один пиксель шириной.

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

‘none’ Никакие маркеры Не применяется

MarkerIndices — Индексы точек данных, в которых можно отобразить маркеры
1:length(YData) (значение по умолчанию) | вектор из положительных целых чисел | скалярное положительное целое число

Индексы точек данных, в которых можно отобразить маркеры в виде вектора из положительных целых чисел. Если вы не задаете индексы, то MATLAB отображает маркер в каждой точке данных.

Примечание

Чтобы видеть маркеры, необходимо также задать символ маркера.

Пример: plot(x,y,’-o’,’MarkerIndices’,[1 5 10]) отображает круговой маркер во-первых, пятые, и десятые точки данных.

Пример: plot(x,y,’-x’,’MarkerIndices’,1:3:length(y)) отображает перекрестный маркер каждые три точки данных.

Пример: plot(x,y,’Marker’,’square’,’MarkerIndices’,5) отображения один квадратный маркер в пятой точке данных.

Для пользовательского цвета задайте триплет RGB или шестнадцатеричный цветовой код.

Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.

Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию использованием MATLAB во многих типах графиков.

Название цвета Краткое название Триплет RGB Шестнадцатеричный цветовой код Внешний вид
‘red’ ‘r’ [1 0 0] ‘#FF0000’

Для пользовательского цвета задайте триплет RGB или шестнадцатеричный цветовой код.

Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.

Триплет RGB Шестнадцатеричный цветовой код Внешний вид
[0 0.4470 0.7410] ‘#0072BD’

Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию использованием MATLAB во многих типах графиков.

Название цвета Краткое название Триплет RGB Шестнадцатеричный цветовой код Внешний вид
‘red’ ‘r’ [1 0 0] ‘#FF0000’

MarkerSize ‘MarkerSize’
6 (значение по умолчанию) | положительное значение

Размер маркера в виде положительного значения в точках, где 1 точка = 1/72 дюйма.

DatetimeTickFormat — Формат для datetime метки в виде галочки
вектор символов | строка

Формат для datetime метки в виде галочки в виде разделенной запятой пары, состоящей из ‘DatetimeTickFormat’ и вектор символов или строка, содержащая формат даты. Используйте буквы A-Z и a-z создать пользовательский формат. Эти буквы соответствуют Unicode ® Стандарт языка разметки данных локали (LDML) для дат. Можно включать символы буквы non-ASCII, такие как дефис, пробел или двоеточие, чтобы разделить поля.

Если вы не задаете значение для ‘DatetimeTickFormat’ то plot автоматически оптимизирует и обновляет метки в виде галочки на основе пределов по осям.

Следующая таблица показывает несколько общих форматов отображения и примеров отформатированного вывода для даты, суббота, 19 апреля 2014 в 21:41:06 в Нью-Йорке.

Для полного списка допустимых идентификаторов буквы смотрите Format свойство для массивов datetime.

DatetimeTickFormat не свойство линии на графике. Необходимо установить формат метки деления с помощью аргумента пары «имя-значение» при создании графика. В качестве альтернативы установите формат с помощью xtickformat и ytickformat функции.

TickLabelFormat свойство линейки datetime хранит формат.

DurationTickFormat — Формат для duration метки в виде галочки
вектор символов | строка

Формат для duration метки в виде галочки в виде разделенной запятой пары, состоящей из ‘DurationTickFormat’ и вектор символов или строка, содержащая формат длительности.

Если вы не задаете значение для ‘DurationTickFormat’ то plot автоматически оптимизирует и обновляет метки в виде галочки на основе пределов по осям.

Чтобы отобразить длительность как, один номер, который включает дробную часть, например, 1,234 часа, задает одно из значений в этой таблице.

Триплет RGB Шестнадцатеричный цветовой код Внешний вид
[0 0.4470 0.7410] ‘#0072BD’
Значение DurationTickFormat Описание
‘y’ Номер точных лет фиксированной длины. Год фиксированной длины равен 365,2425 дням.
‘d’ Номер точных дней фиксированной длины. День фиксированной длины равен 24 часам.
‘h’ Номер часов
‘m’ Номер минут
‘s’ Номер секунд

Пример: ‘DurationTickFormat’,’d’ значения длительности отображений в терминах дней фиксированной длины.

Чтобы отобразить длительность в форме цифрового таймера, задайте одно из этих значений.

Кроме того, можно отобразить до девяти цифр доли секунды путем добавления до девяти S ‘characters’.

Пример: ‘DurationTickFormat’,’hh:mm:ss.SSS’ отображает миллисекунды значения длительности к трем цифрам.

DurationTickFormat не свойство линии на графике. Необходимо установить формат метки деления с помощью аргумента пары «имя-значение» при создании графика. В качестве альтернативы установите формат с помощью xtickformat и ytickformat функции.

TickLabelFormat свойство линейки длительности хранит формат.

Советы

Используйте NaN и Inf специальные символы, чтобы создать пропуски на линии графика. Например, этот код строит первые два элемента, пропускает третий элемент и проводит другую линию с помощью последних двух элементов:

plot цвета использования и стили линии на основе ColorOrder и LineStyleOrder свойства осей. plot циклы через цвета с первым стилем линии. Затем это циклически повторяется через цвета снова с каждым дополнительным стилем линии.

Начиная в R2019b, можно изменить цвета и стили линии после графического вывода путем установки ColorOrder или LineStyleOrder свойства на осях. Можно также вызвать colororder функционируйте, чтобы изменить последовательность цветов для всех осей на рисунке.

Расширенные возможности

«Высокие» массивы
Осуществление вычислений с массивами, которые содержат больше строк, чем помещается в памяти.

Указания и ограничения по применению:

Поддерживаемые синтаксисы для длинных массивов X и Y :

Источник

Читайте также:  Видеть во сне преждевременные роды свои
Обучающий онлайн портал