Построение и оформление графиков в matlab. Иллюстрированный самоучитель по MatLab

Справочник по MATLAB – Графические команды и функции (В.Г.Потемкин)

Построение и оформление графиков в matlab. Иллюстрированный самоучитель по MatLab

Из-за ограниченного объема данного справочного пособия в него включены только графические команды и функции с минимальными элементами дескрипторной графики. Заинтересованному читателю следует обратиться к документации по системе MATLAB, и в первую очередь к только что вышедшей из печати книге “Using MATLAB Graphics” (Natick, 1996).

Элементарные графические функции системы MATLAB позволяют построить на экране и вывести на печатающее устройство следующие типы графиков: линейный, логарифмический, полулогарифмический, полярный.

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

Двумерные графики

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

Первый из них – это соединение точек в сечении (функция plot3), второй – построение сетчатых поверхностей (функции mesh и surf).

Поверхность, построенная с помощью функции mesh, – это сетчатая поверхность, ячейки которой имеют цвет фона, а их границы могут иметь цвет, который определяется свойством EdgeColor графического объекта surface.

Поверхность, построенная с помощью функции surf, – это сетчатая поверхность, у которой может быть задан цвет не только границы, но и ячейки; последнее управляется свойством FaceColor графического объекта surface.

Уровень изложения данной книги не требует от читателя знания объектно-ориентированного программирования. Ее объем не позволяет в полной мере описать графическую подсистему, которая построена на таком подходе. Заинтересованному читателю рекомендуем обратиться к документации по системе MATLAB, и в первую очередь к только что вышедшей из печати книге Using MATLAB Graphics (Natick, 1996).

Надписи и пояснения к графикам

Раздел специальной графики включает графические команды и функции для построения столбцовых диаграмм, гистограмм, средств отображения векторов и комплексных элементов, вывода дискретных последовательностей данных, а также движущихся траекторий как для двумерной, так и для трехмерной графики. Этот раздел получил свое дальнейшее развитие в версии системы MATLAB 5.0, где специальные графические средства улучшены и существенно расширены.

PLOT – график в линейном масштабе

Синтаксис:

plot(y)plot(x, y)plot(x, y, s)

plot(x1, y1, s1, x2, y2, s2, …)

Описание:

Команда plot(y) строит график элементов одномерного массива y в зависимости от номера элемента; если элементы массива y комплексные, то строится график plot(real(y), imag(y)). Если Y – двумерный действительный массив, то строятся графики для столбцов; в случае комплексных элементов их мнимые части игнорируются.

Команда plot(x, y) соответствует построению обычной функции, когда одномерный массив x соответствует значениям аргумента, а одномерный массив y – значениям функции. Когда один из массивов X или Y либо оба двумерные, реализуются следующие построения:

  • если массив Y двумерный, а массив x одномерный, то строятся графики для столбцов массива Y в зависимости от элементов вектора x;
  • если двумерным является массив X, а массив y одномерный, то строятся графики столбцов массива X в зависимости от элементов вектора y;
  • если оба массива X и Y двумерные, то строятся зависимости столбцов массива Y от столбцов массива X.

Команда plot(x, y, s) позволяет выделить график функции, указав способ отображения линии, способ отображения точек, цвет линий и точек с помощью строковой переменной s, которая может включать до трех символов из следующей таблицы:

Тип линииТип точкиЦвет
Непрерывная
Штриховая
Двойной пунктир:
Штрих-пунктирная-.
Точка.
Плюс+
Звездочка*
Кружокo
Крестикх
Желтыйy
Фиолетовыйm
Голубойc
Красныйr
Зеленыйg
Синийb
Белыйw
Черныйk

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

Команда plot(x1, y1, s1, x2, y2, s2, …) позволяет объединить на одном графике несколько функций y1(x1), y2(x2), …, определив для каждой из них свой способ отображения.

Обращение к командам plot вида plot(x, y, s1, x, y, s2) позволяет для графика y(x) определить дополнительные свойства, для указания которых применения одной строковой переменной s1 недостаточно, например при задании разных цветов для линии и для точек на ней.

Примеры:

Построим график функции y = sin(x) на отрезке [-p p ] с шагом p /500:

x = -pi:pi/500:pi;y = sin(x);plot(y) % рис. а

plot(x, y) % рис. б

График на рис. а отображает значения одномерного массива y, состоящего из 1001 элемента, как функцию от номера элемента; график на рис. б отображает значения того же массива как функцию элементов массива x.

а)
б)

Рассмотрим различные способы применения функции plot(x, y) на примере графиков двух функций y1 = sin(x) и y2 = xsin(x):

x1 = -pi:pi/500:pi;y1 = sin(x1);y2 = x1.*sin(x1);plot(x1',[y1' y2']) % рис. в

plot( [y1' y2'], x1') % рис. г

в)
г)

x2 = x1/2;y2 = x2.*sin(x2);

plot([x1' x2'], [y1' y2']) % рис. д

д)

Сопутствующие функции и команды: LOGLOG, SEMILOGX, SEMILOGY, POLAR.

LOGLOG – график в логарифмическом масштабе

Синтаксис:

loglog(x, y)loglog(x, y, s)

loglog(x1, y1, s1, x2, y2, s2, …)

Описание:

Команды loglog(…) равносильны функциям plot, за исключением того, что они используют по обеим осям логарифмический масштаб вместо линейного.

Примеры:

Построим график y = exp(x) в логарифмическом масштабе:

x = logspace(-1, 2);loglog(x, exp(x))

grid

Сопутствующие функции и команды: PLOT, SEMILOGX, SEMILOGY.

SEMILOGX, SEMILOGY – график в полулогарифмическом масштабе

Синтаксис:

semilogx(x, y)semilogy(x, y)
semilogx(x, y, s)semilogy(x, y, s)
semilogx(x1, y1, s1, x2, y2, s2, …)semilogy(x1, y1, s1, x2, y2, s2, …)

Описание:

Команды semilogx(…) используют логарифмический масштаб по оси x и линейный масштаб по оси y.

Команды semilogy(…) используют логарифмический масштаб по оси y и линейный масштаб по оси x.

Примеры:

Построим график y = exp(x) в полулогарифмическом масштабе по оси y:

x = 0:0.1:100;semilogy(x, exp(x))

grid

Сопутствующие функции и команды: PLOT, LOGLOG.

POLAR – график в полярных координатах

Синтаксис:

polar(phi, rho)
polar(phi, rho, s)

Описание:

Команды polar(…) реализуют построение графиков в полярных координатах, задаваемых углом phi и радиусом pho.

Примеры:

Построим график функции rho = sin(2 * phi) * cos(2 * phi) в полярных координатах

phi = 0:0.01:2 * pi;
polar(phi, sin(2 * phi). * cos(2 * phi))

Сопутствующие функции и команды: PLOT, LOGLOG.

PLOT3 – построение линий и точек в трехмерном пространстве

Синтаксис:

plot3(x, y, z)plot3(X, Y, Z)plot3(x, y, z, s)

plot3(x1, y1, z1, s1, x2, y2, z2, s2, …)

Описание:

Команды plot3(…) являются трехмерными аналогами функции plot(…).

Команда plot3(x, y, z), где x, y, z – одномерные массивы одинакового размера, строит точки с координатами x(i), y(i), z(i) и соединяет их прямыми линиями.

Команда plot3(X, Y, Z), где X, Y, Z – двумерные массивы одинакового размера, строит точки с координатами x(i, :), y(i, :), z(i, 🙂 для каждого столбца и соединяет их прямыми линиями.

Команда plot3(x, y, z, s) позволяет выделить график функции z(x, y), указав способ отображения линии, способ отображения точек, цвет линий и точек с помощью строковой переменной s, которая может включать до трех символов из следующей таблицы.

Тип линииТип точкиЦвет
Непрерывная
Штриховая
Двойной пунктир:
Штрих-пунктирная-.
Точка.
Плюс+
Звездочка*
Кружокo
Крестикх
Желтыйy
Фиолетовыйm
Голубойc
Красныйr
Зеленыйg
Синийb
Белыйw
Черныйk

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

Команда plot3(x1, y1, z1, s1, x2, y2, z2, s2, …) позволяет объединить на одном графике несколько функций z1(x1, y1), z2(x2, y2), …, определив для каждой из них свой способ отображения.

Обращение к команде plot3 вида plot3(x, y, z, s1, x, y, z, s2) позволяет для графика z(x, y) определить дополнительные свойства, для указания которых применения одной строковой переменной s1 недостаточно, например при задании разных цветов для линии и для точек на ней.

Примеры:

Построим график функции z = x * exp(-x2 – y2) в трехмерном пространстве.

[ X, Y ] = meshgrid([ -2 : 0.1 : 2 ]);Z = X .* exp(- X . 2 – Y . 2);

plot3(X, Y, Z)

Сопутствующие функции и команды: PLOT, AXIS, VIEW, MESH, SURF.

MESHGRID – формирование двумерных массивов X и Y

Синтаксис:

[X, Y] = meshgrid(x, y)
[X, Y] = meshgrid(x)

Описание:

Функция [X, Y] = meshgrid(x, y) задает сетку на плоскости x-y в виде двумерных массивов X, Y, которые определяются одномерными массивами x и y. Строки массива X являются копиями вектора x, а столбцы – копиями вектора y. Формирование таких массивов упрощает вычисление функций двух переменных, позволяя применять операции над массивами.

Функция [X, Y] = meshgrid(x) представляет собой упрощенную форму записи для функции [X, Y] = meshgrid(x, x).

Примеры:

Определим двумерные массивы и вычислим функцию , заданную на квадрате -2

Источник: https://hub.exponenta.ru/post/spravochnik-po-matlab-graficheskie-komandy-i-funktsii-vgpotemkin242

В помощь математикам: обзор matlab

Построение и оформление графиков в matlab. Иллюстрированный самоучитель по MatLab
Обзор MATLAB

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

Например, на вычисление какого-нибудь гигантского тройного интеграла можно потратить настоящую уйму времени, душевных сил и не восстанавливающихся нервных клеток. Конечно, это очень интересно, бросить вызов интегралу, и взять его.

Но, что делать, если вместо этого интеграл грозиться взять Вас? Или, что еще хуже, кубический трехчлен вышел из-под контроля и разбушевался? Такого и врагу не пожелаешь.

Что делать?

Раньше вариантов было всего два: плюнуть на все и пойти гулять или вступить в многочасовую схватку с интегралом. Ну, кому многочасовую, кому многоминутную – кто как учился. Но суть не в этом.

Двадцатый век и неумолимо движущийся прогресс предлагают нам третий способ, а именно позволяют взять самый сложный интеграл «по-быстрому».

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

Для таких неординарных, но периодически случающихся среди студентов ситуаций существует мощное математическое оружие. Встречайте, кто еще не знает – пакет программ MATLAB.

Матлаб и решит уравнение, и аппроксимирует, и построит график функции. Понимаете, что это значит, друзья?

Это значит, что MATLAB – один из мощнейших на сегодняшний день пакетов обработки данных. Название расшифровывается как Matrix Laboratory.  Матричная Лаборатория, если по-русски. Возможности программы покрывают практически все области математики. Так, пользуясь матлабом, Вы сможете:

  • Производить всевозможные операции над матрицами, решать линейные уравнения, работать с векторами;
  • Вычислять корни многочленов любой степени, производить операции над многочленами, дифференцировать, экстраполировать и интерполировать кривые, строить графики любых функций;
  • Проводить статистический анализ данных с использованием цифровой фильтрации, статистической регрессии;
  • Решать дифференциальные уравнения. В частных производных, линейных, нелинейных, с граничными условиями – не важно, матлаб все решит;
  • Выполнять операции целочисленной арифметики.

MATLAB

Помимо всего этого возможности MATLAB позволяют визуализировать данные вплоть до построения трехмерных графиков и создания анимированных роликов.

Наше описание матлаб, конечно, далеко не полное. Помимо предусмотренных производителем возможностей и функций существует огромное количество инструментов матлаб, написанных просто энтузиастами или другими компаниями.

MATLAB как язык программирования

М-файл

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

MATLAB – серьезное средство для серьезных ребят

Основной рабочий файл программы – М-файл. Это бесконечный текстовый файл, и именно в нем происходит непосредственно программирование вычислений. Кстати, пусть Вас не пугает это слово – для того, чтобы работать в MATLAB,  вовсе не нужно быть профессиональным программистом.

М-файлы делятся на

  • М-сценарии. М-сценарий – самый простой тип M-файла, у которого отсутствуют входные и выходные аргументы. Данный файл используется для автоматизации многократно повторяемых вычислений.
  • M-функции. М-функции – это М-файлы, допускающие наличие входных и выходных аргументов.

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

function y = average (x)
% AVERAGE Среднее значение элементов вектора.
% AVERAGE(X), где X – вектор. Вычисляет среднее значение элементов вектора.


% Если входной аргумент не является вектором, генерируется ошибка.


                 [m,n] = size(x);
                 if (~((m == 1) | (n == 1)) | (m == 1 & n == 1))
                      error('Входной массив должен быть вектором’)
                 end
                 y =sum(x)/length(x);            % Собственно вычисление

Строка определения функции сообщает системе MATLAB, что файл является М-функцией, а также определяет список входных аргументов.  Так, строка определения функции average имеет вид:
           function y = average(x)
Где:

  1. function – ключевое слово, определяющее М-функцию;
  2. y – выходной аргумент;
  3. average – имя функции;
  4. x – входной аргумент.

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

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

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

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

Недостатки работы с MATLAB

MATLAB – хорошо, но тяжело

Какие есть трудности в работе с MATLAB? Трудность, пожалуй, всего одна. Но фундаментальная. Чтобы полностью раскрыть возможности MATLAB и с легкостью решать встающие перед Вами задачи, придется попотеть и сначала разобраться с самим матлабом (как создать файл, как создать функцию и др.). А это не так просто, ибо мощность и широкие возможности требуют жертв.

При всем желании нельзя сказать, что MATLAB – простая программа. Тем не менее, надеемся, все вышеперечисленное будет достаточным аргументом для того, чтобы взяться за ее освоение.

И напоследок. Если Вы не знаете, почему все в Вашей жизни пошло так, а не иначе, спросите об этом у матлаба. Просто наберите в командной строке “why” (почему). Он ответит. Попробуйте!

Теперь вы знаете возможности Матлаб. В области образования MATLAB часто используется в преподавании численных методов и линейной алгебры.

Многим студентам не обойтись без него при обработке результатов эксперимента, проведенного в ходе лабораторной работы.

Для быстрого и качественного освоения основ работы с MATLAB Вы всегда можете обратиться к нашим специалистам, в любой момент готовым ответить на любой Ваш вопрос.

Источник: https://Zaochnik-com.ru/blog/v-pomoshh-matematikam-obzor-matlab/

Технология построения графиков в Matlab

Построение и оформление графиков в matlab. Иллюстрированный самоучитель по MatLab

Графики в Matlab, также как в табличном процессоре, могут быть построены по узловым точкам. Поскольку MATLAB — матричная система, совокупность узловых точек у(х)для построения графика задается векторами X и Y одинакового размера.

Графики MATLAB строит в отдельных окнах, называемых графическими окнами. В главном меню окна есть позиция Tools (Инструменты), которая позволяет вывести или скрыть инструментальную панель, видимую в верхней части окна графики. Средства этой панели позволяют легко управлять параметрами графиков и наносить на них текстовые комментарии в любом месте.

В Matlab для построения графиков функций по узловым точкам в декартовой системе координат служит функция plot.

Функция plot имеет несколько синтаксических конструкций:
plot (X, Y) – строит график функции у(х), координаты точек (х, у) которой берутся из векторов одинакового размера Y и X.

Если X или Y матрица, то строится семейство графиков по данным, содержащимся в колонках матрицы;
plot(Y) — строит график у(i), где значения у берутся из вектора Y, a i представляет собой индекс соответствующего элемента.

Если Y содержит комплексные элементы, то выполняется команда plot (real (Y), imag(Y)). Во всех других случаях мнимая часть данных игнорируется;
plot(X,Y,S) — аналогична команде plot(X,Y), но тип линии графика можно задавать с помощью строковой константы S. Значениями константы S могут быть следующие символы:

Если функция задана аналитической моделью, то для построения графика нужно определить вектор значений аргумента для узловых точек, вычислить значения функции при заданных значениях аргумента и сохранить эти значения в виде вектора, а затем применить функцию plot. Приведенный ниже пример иллюстрирует построение графика функций — sin(x) по узловым точкам:

>> x=[0; 0.4; 0.8; 1.2; 1.4;1.8;2.2;2.6;3;3.4;3.8]; Y=sin(x); plot(x,Y)

В этом примере уже определены значения вектора x, вычисляемые значения функции содержатся в векторе Y.

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

Для того, чтобы построить график функции y = f(x), необходимо сформировать два одномерных массива x и y одинаковой размерности, а затем использовать функцию plot.

Пример1. Требуется построить график функции на интервале значений X [-1; 1].

Технология построения графика этой функции в MS Excel рассмотрена в статье. Результат решения представлен на рис. 1.

Рис. 1.

Окно команд с инструкциями для решения задачи в Matlab приведены на рис. 2.

Рис. 2..

Пояснения к инструкциям

В результате обращения к функции plot(x,y) будет создано окно с именем Figure 1, в котором будет построен график. Результат решения приведен на рис. 3.

Рис. 3.

Построение графиков нескольких функций в одной системе координат

Построение графиков нескольких функций в одной системе координат можно выполнить двумя способами:
– использовать функцию plot в формате:
plot (x1, y1, x2, y2, … , xn, yn),
где x1, y1 – массивы значений абсцисс и ординат графика первой функции,x2, y2 – массивы значений абсцисс и ординат графика второй функции , … , xn, yn – массивы значений абсцисс и ординат графика n-ой функции;
– использовать каждый раз функцию plot( x, y) для построения каждого графика, но перед построением каждого последующего графика включать команду holdon , блокирующую режим создания нового окна.

Пример2. Требуется построить в одной системе координат графики функций y1=1-2х и у2=Ln xна интервале значений аргумента х [0,2 ; 3 ]. Построение графиков этих функций в Excel при решении систем уравнений рассматривалось в статье.

Решение первым способом
В окне команд Matlab введем инструкции, как показано на рис. 4.

Рис. 4.

В результате выполнения инструкций Matlab выведет графики, как показано на рис. 5.

Рис. 5..

Решение вторым способом

В окне команд Matlab введем инструкции, как показано на рис. 6.

Рис. 6.

В результате выполнения инструкций Matlab сначала выведет график первой функции, а затем в этом же окне выведет график второй функции y2 (рис. 7).

Рис. 7.

Как видим, графики на рис. 5 и 7 идентичны.
Относительно сравнения сложности создания графиков в Matlab и Excel можно сделать вывод, что в Matlab не требуется предварительно создавать таблицу значений функций и аргументов, величину шага можно сделать значительно меньше, поэтому графики получаются более точными.

Построение графиков без использования узловых точек

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

Построить в Matlab график без узловых точек можно с помощью специальной графической функции fplot.

Функция имеет синтаксис:
fplot('f(x)', [xminxmax]) ,
где f(x) – аналитическая запись выражения функции, xmin и xmax – числовые значения границ диапазона изменения аргумента.

Функция fplot позволяет строить функцию, заданную в символьном виде, в интервале изменения аргумента х от xmin до xmax без фиксированного шага изменения х.

В ряде случаев бывает необходимо, чтобы на графике была отображена сетка. Включение отображения сетки, которая строится пунктирными линиями, выполняется командой grid on. Например, график функции sin(x) (рис. 3) в диапазоне x =[-pi/2 : pi/2] можно построить с помощью инструкции >> fplot ('sin(x)', [-pi/2 pi/2]); grid on.

Оформление графиков

Оформление графиков в MATLAB можно выполнить двумя способами:
– с помощью команд Matlab, размещенных в пиктографическом меню Insert;
– функциями Matlab, которые записываются в виде инструкций в командном окне.

В списке пиктографического меню есть следующие команды (рис. 8):

Рис. 8

x Label, Y Label, Z Label – подписи осей осей;
Title – надпись названия диаграммы;
Legend – легенда, т.е.

обозначение линий графиков;
Colorbar – вывод цветовой палитры;
Arrow – рисование стрелки;
Line – рисование линии;
Text – позволяет поместить текст в области построения диаграммы;
Axes – позволяет построить оси.

Команды Matlab для оформления графиков

– команда gridon наносит сетку на график;
– функция title(‘заголовок’) выводит заголовок графика;
– функции xlabel(‘подпись оси х’), ylabel(‘подпись оси у’) служат для подписи осей х и у соответственно;
– функция legend(‘легенда1’, ‘легенда2’, … , ‘легендаn’, k) выводит легенды для каждого из n графиков, параметр k определяет месторасположение легенды в графическом окне: -1 – в правом верхнем углу графического окна, за пределами графика; 0 – автоматически выбрать наилучшее месторасположение; 1 – в правом верхнем углу графика (значение по умолчанию); 2, 3, 4 – в левом верхнем, в левом нижнем, в правом нижнем углах графика соответственно.

Пример 3. Требуется построить график функции Sin(x) на интервале х={-pi/2; pi/2] и оформить его.

Решение. Создадим М-файл с названием Chart.
Запишем инструкции, как на рис. 9.

Рис. 9.

Запустим М-файл на выполнение- будет выведен график с соответствующими подписями (рис. 10).

Рис. 10.

Источник: https://zen.yandex.ru/media/id/5d4d8e658da1ce00ad5ece61/5de68cd50be00a00ae4ebe8d

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.