Для начала рассмотрим построение графиков функций одной переменной в разных системах координат. Чтобы построить график можно сформировать вектор значений независимой переменной и потом вычислить функцию от этого вектора. Например, построим график синусоиды на отрезке [0,2π]. Весь интервал разобьем на 100 точек, для этого вектор значений независимой переменной следует задать в виде x=[0:2*pi/99:2*pi], а функцию в виде – y=sin(x). Чтобы получить график функции, можно выбрать один из следующих способов:

  1. Ввести в командном окне plot(x,y);
  2. Выделить в окне Workspace переменные, щелкнуть правой кнопкой мыши и в появившемся меню выбрать ту же команду или после выделения щелкнуть кнопку на главной панели инструментов окна Workspace;
  3. Ввести в консоли MATLAB команду plottools или нажать кнопку START в левом нижнем углу главного окна, потом выбрать MATLAB и нажать на Plot Tools.


PIC

Рис. 21. Результат выполнения команды plot([1 2 3 6 8]) – график вектора, где в качестве абсцисс считаются индексы массива

PIC

Рис. 22. График синусоиды с относительно небольшим числом точек. На графике видны изломы

PIC

Рис. 23. График синусоиды при большом количестве элементов вектора

 

 

PIC

Рис. 24. Несколько графиков в одном окне. На второй и третьей позициях проиллюстрирован результат построения двух графиков на одних осях

 


 

Два первых варианта приведут к появлению нового окна, в котором будет отрезок синусоиды. Попробуем похожим образом построить график более сложной функции – sin(x) exp(x). Значения независимой переменной оставим те же. Для новой функции в консоли MATLAB следует ввести g=sin(x).*exp(x);. Точка перед знаком умножения – признак поэлементного умножения. Если применить умножение простое (по терминологии MATLAB), то возникнет ошибка (??? Error using ==> mtimes Inner matrix dimensions must agree.). Обычное умножение MATLAB умеет делать с массивами, размеры которых согласуются. Попробуем изобразить оба графика в одном окне. В MATLAB существует два варианта подобного – в одном случае у каждого графика будут свои координатные оси, в другом оба графика будут с одними осями. Второй случай проще всего реализовать командой plot(x,f,x,g), Первый вариант оформляется командой subplot(n,m,pos), которая разбивает графическое окно на подобласти из n строк и m колонок, а pos указывает позицию, в которой следующая команда plot будет строить график. Другую возможность нарисовать несколько линий графиков на одних осях координат предоставляет команда hold on. Смысл функции в том, что она оставляет главное графическое окно и оси координат на месте при прорисовке следующего графика. По умолчанию каждое новое выполнение команды по построению графика приводит к построению нового графического окна. Для оформления графика прямо в тексте программы можно использовать функции title, xlabel, ylabel, legend – для отображения названия, подписи к горизонтальной, вертикальной осям и легенды соответственно. Синтаксис функций в простейшем случае допускает указание только одного аргумента – строки. Другие аргументы позволяют установить шрифт, расположение, заливку и прочее.


Пример 19.
Построение нескольких графиков рядом друг с другом
1 x=[0:2pi/99:2pi];
2 f=sin(x);
3 g=sin(x).exp(x);
4 subplot(2,2,1);plot(x,f)
5 subplot(2,2,2);plot(x,f,x,g)
6 subplot(2,2,3);plot(x,f,x,g)
7 subplot(2,2,4);plot(x,g)