В этой главе мы продолжим изучение графических и графических возможностей 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 предоставляет функцию контура для рисования контурных карт.
пример
Создадим контурную карту, которая показывает контурные линии для данной функции 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 . Далее мы назначаем саму функцию. Наконец, мы используем команду прибоя для создания графика поверхности.
Следующий пример демонстрирует концепцию —
пример
Давайте создадим трехмерную карту поверхности для функции 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 отображает следующую трехмерную карту —
Вы также можете использовать команду сетки для создания трехмерной поверхности. Однако команда surf отображает как соединительные линии, так и грани поверхности в цвете, тогда как команда mesh создает поверхность каркаса с цветными линиями, соединяющими определяющие точки.