MATLAB - Построение графиков
Чтобы построить график функции, вам необходимо выполнить следующие шаги -
Определить x, указав range of values для переменной x, для которого строится функция
Определите функцию, y = f(x)
Позвоните в plot команда, как plot(x, y)
Следующий пример продемонстрирует концепцию. Построим простую функциюy = x для диапазона значений x от 0 до 100 с шагом 5.
Создайте файл сценария и введите следующий код -
x = [0:5:100];
y = x;
plot(x, y)
Когда вы запускаете файл, MATLAB отображает следующий график -
Давайте возьмем еще один пример, чтобы построить функцию y = x 2 . В этом примере мы нарисуем два графика с одной и той же функцией, но во второй раз мы уменьшим значение приращения. Обратите внимание, что по мере уменьшения приращения график становится более плавным.
Создайте файл сценария и введите следующий код -
x = [1 2 3 4 5 6 7 8 9 10];
x = [-100:20:100];
y = x.^2;
plot(x, y)
Когда вы запускаете файл, MATLAB отображает следующий график -
Немного измените файл кода, уменьшите шаг до 5 -
x = [-100:5:100];
y = x.^2;
plot(x, y)
MATLAB рисует более гладкий график -
Добавление заголовка, меток, линий сетки и масштабирования на график
MATLAB позволяет добавлять заголовок, метки по оси x и оси y, линии сетки, а также настраивать оси, чтобы украсить график.
В xlabel и ylabel Команды генерируют метки по оси x и оси y.
В title Команда позволяет нанести заголовок на график.
В grid on Команда позволяет нанести линии сетки на график.
В axis equal Команда позволяет построить график с одинаковыми масштабными коэффициентами и промежутками по обеим осям.
В axis square команда генерирует квадратный график.
пример
Создайте файл сценария и введите следующий код -
x = [0:0.01:10];
y = sin(x);
plot(x, y), xlabel('x'), ylabel('Sin(x)'), title('Sin(x) Graph'),
grid on, axis equal
MATLAB генерирует следующий график -
Рисование нескольких функций на одном графике
Вы можете нарисовать несколько графиков на одном графике. Следующий пример демонстрирует концепцию -
пример
Создайте файл сценария и введите следующий код -
x = [0 : 0.01: 10];
y = sin(x);
g = cos(x);
plot(x, y, x, g, '.-'), legend('Sin(x)', 'Cos(x)')
MATLAB генерирует следующий график -
Установка цветов на графике
MATLAB предоставляет восемь основных вариантов цвета для рисования графиков. В следующей таблице показаны цвета и их коды -
Код | цвет |
---|---|
ш | Белый |
k | Черный |
б | Синий |
р | Красный |
c | Голубой |
г | Зеленый |
м | Пурпурный |
у | Желтый |
пример
Нарисуем график двух многочленов
f (x) = 3x 4 + 2x 3 + 7x 2 + 2x + 9 и
г (х) = 5х 3 + 9х + 2
Создайте файл сценария и введите следующий код -
x = [-10 : 0.01: 10];
y = 3*x.^4 + 2 * x.^3 + 7 * x.^2 + 2 * x + 9;
g = 5 * x.^3 + 9 * x + 2;
plot(x, y, 'r', x, g, 'g')
Когда вы запускаете файл, MATLAB генерирует следующий график -
Установка шкалы осей
В axisКоманда позволяет установить масштабы оси. Вы можете указать минимальные и максимальные значения для осей x и y, используя команду оси следующим образом:
axis ( [xmin xmax ymin ymax] )
Следующий пример показывает это -
пример
Создайте файл сценария и введите следующий код -
x = [0 : 0.01: 10];
y = exp(-x).* sin(2*x + 3);
plot(x, y), axis([0 10 -1 1])
Когда вы запускаете файл, MATLAB генерирует следующий график -
Создание подграфов
Когда вы создаете массив графиков на одном рисунке, каждый из этих графиков называется второстепенным. Вsubplot команда используется для создания подсюжетов.
Синтаксис команды -
subplot(m, n, p)
где, m и n - количество строк и столбцов в массиве графиков, а p указывает, где разместить конкретный график.
Каждый график, созданный с помощью команды subplot, может иметь свои собственные характеристики. Следующий пример демонстрирует концепцию -
пример
Сгенерируем два графика -
y = e −1,5x sin (10x)
у = е - 2х грех (10х)
Создайте файл сценария и введите следующий код -
x = [0:0.01:5];
y = exp(-1.5*x).*sin(10*x);
subplot(1,2,1)
plot(x,y), xlabel('x'),ylabel('exp(–1.5x)*sin(10x)'),axis([0 5 -1 1])
y = exp(-2*x).*sin(10*x);
subplot(1,2,2)
plot(x,y),xlabel('x'),ylabel('exp(–2x)*sin(10x)'),axis([0 5 -1 1])
Когда вы запускаете файл, MATLAB генерирует следующий график -