English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Графики 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);   % независимые переменные
g = x.^2 + y.^2;                       % наша функция
contour(x,y,g)                         % вызов функции контура
print -deps graph.eps

При запуске файла MATLAB отображает следующую карту профиля-

Давайте稍微修改一下代码以整理映射

[x,y] = meshgrid(-5:0.1:5,-3:0.1:3);   % независимые переменные
g = x.^2 + y.^2;                       % наша функция
[C, h] = contour(x, y, g); % вызов функции contour
set(h, 'ShowText', 'on', 'TextStep', get(h, 'LevelStep')*2)
print -deps graph.eps

При запуске файла MATLAB отображает следующую карту профиля-

Трехмерный график

Трехмерный график показывает曲面, определенную двумя переменными g = f(x, y), в трёхмерном пространстве.

Как уже было сказано, чтобы определить g, мы сначала используемmeshgridКоманда создает набор точек (x, y) в диапазоне функции. Затем мы назначаем саму функцию. В конце мы используемsurfКоманда создает карту поверхности.

Следующий пример демонстрирует концепцию-

Пример

Давайте для функции g = xe- (x 2 + y 2)Создайте 3D поверхностную карту.

Создайте файл скрипта и введите следующий код-

[x, y] = meshgrid(-2:.2:2);
g = x .* exp(-x.^2 - y.^2);
surf(x, y, g)
print -deps graph.eps

При запуске файла MATLAB отображает следующую 3-D карту-

Вы также можете использоватьmeshКоманда создает трехмерную поверхность. Но,surfКоманда одновременно отображает线和 поверхности в цвете, аmeshЛинейная поверхность с цветными линиями, связывающими точки определения соединения.