MATLAB - Графика
В этой главе мы продолжим изучение графических и графических возможностей MATLAB. Обсудим -
- Рисование гистограмм
- Рисование контуров
- Трехмерные сюжеты
Рисование гистограмм
В barкоманда рисует двухмерную гистограмму. Давайте рассмотрим пример, чтобы продемонстрировать идею.
пример
У нас будет воображаемый класс с 10 учениками. Нам известно, что эти студенты получают 75, 58, 90, 87, 50, 85, 92, 75, 60 и 95 процентов. Мы нарисуем гистограмму для этих данных.
Создайте файл сценария и введите следующий код -
x = [1:10];
y = [75, 58, 90, 87, 50, 85, 92, 75, 60, 95];
bar(x,y), xlabel('Student'),ylabel('Score'),
title('First Sem:')
print -deps graph.eps
Когда вы запускаете файл, MATLAB отображает следующую гистограмму -
Рисование контуров
Линия контура функции двух переменных - это кривая, вдоль которой функция имеет постоянное значение. Контурные линии используются для создания контурных карт путем соединения точек с одинаковой высотой над заданным уровнем, например среднего уровня моря.
MATLAB предоставляет contour функция для рисования контурных карт.
пример
Создадим контурную карту, которая показывает контурные линии для заданной функции g = f (x, y). Эта функция имеет две переменные. Итак, нам нужно будет сгенерировать две независимые переменные, то есть два набора данных x и y. Это делается путем вызоваmeshgrid команда.
В meshgrid Команда используется для создания матрицы элементов, которые дают диапазон по x и y вместе со спецификацией приращения в каждом случае.
Построим график нашей функции g = f (x, y), где −5 ≤ x ≤ 5, −3 ≤ y ≤ 3. Возьмем приращение 0,1 для обоих значений. Переменные установлены как -
[x,y] = meshgrid(–5:0.1:5, –3:0.1:3);
Наконец, нам нужно назначить функцию. Пусть наша функция будет: x 2 + y 2
Создайте файл сценария и введите следующий код -
[x,y] = meshgrid(-5:0.1:5,-3:0.1:3); %independent variables
g = x.^2 + y.^2; % our function
contour(x,y,g) % call the contour function
print -deps graph.eps
Когда вы запускаете файл, MATLAB отображает следующую контурную карту -
Давайте немного изменим код, чтобы нарядить карту
[x,y] = meshgrid(-5:0.1:5,-3:0.1:3); %independent variables
g = x.^2 + y.^2; % our function
[C, h] = contour(x,y,g); % call the contour function
set(h,'ShowText','on','TextStep',get(h,'LevelStep')*2)
print -deps graph.eps
Когда вы запускаете файл, MATLAB отображает следующую контурную карту -
Трехмерные графики
Трехмерные графики в основном отображают поверхность, определенную функцией от двух переменных, g = f (x, y).
Как и раньше, чтобы определить g, мы сначала создаем набор точек (x, y) в области определения функции, используя meshgridкоманда. Далее мы назначаем саму функцию. Наконец, мы используемsurf команда для создания графика поверхности.
Следующий пример демонстрирует концепцию -
пример
Создадим трехмерную карту поверхности для функции g = xe - (x 2 + y 2 )
Создайте файл сценария и введите следующий код -
[x,y] = meshgrid(-2:.2:2);
g = x .* exp(-x.^2 - y.^2);
surf(x, y, g)
print -deps graph.eps
Когда вы запускаете файл, MATLAB отображает следующую трехмерную карту -
Вы также можете использовать meshкоманда для создания трехмерной поверхности. Тем не менееsurf команда отображает как соединительные линии, так и грани поверхности в цвете, тогда как mesh команда создает каркасную поверхность с цветными линиями, соединяющими определяющие точки.