Построение графика по узловым точкам
Графики в 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.
Окно команд с инструкциями для решения задачи в Matlab приведены на рис. 2.
Пояснения к инструкциям
В результате обращения к функции plot(x,y) будет создано окно с именем Figure 1, в котором будет построен график. Результат решения приведен на рис. 3.
Построение графиков нескольких функций в одной системе координат
Построение графиков нескольких функций в одной системе координат можно выполнить двумя способами:
- использовать функцию plot в формате:
plot (x1, y1, x2, y2, … , xn, yn),
где x1, y1 – массивы значений абсцисс и ординат графика первой функции, x2, y2 – массивы значений абсцисс и ординат графика второй функции , … , xn, yn – массивы значений абсцисс и ординат графика n-ой функции;
- использовать каждый раз функцию plot( x, y) для построения каждого графика, но перед построением каждого последующего графика включать команду hold on , блокирующую режим создания нового окна.
Пример 2. Требуется построить в одной системе координат графики функций y1=1-2х и у2=Ln x на интервале значений аргумента х [0,2 ; 3 ]. Построение графиков этих функций в Excel при решении систем уравнений рассматривалось в статье.
Решение первым способом
В окне команд Matlab введем инструкции, как показано на рис. 4.
В результате выполнения инструкций Matlab выведет графики, как показано на рис. 5.
Решение вторым способом
В окне команд Matlab введем инструкции, как показано на рис. 6.
В результате выполнения инструкций Matlab сначала выведет график первой функции, а затем в этом же окне выведет график второй функции y2 (рис. 7).
Как видим, графики на рис. 5 и 7 идентичны.
Относительно сравнения сложности создания графиков в Matlab и Excel можно сделать вывод, что в Matlab не требуется предварительно создавать таблицу значений функций и аргументов, величину шага можно сделать значительно меньше, поэтому графики получаются более точными.
Построение графиков без использования узловых точек
Если функция задана аналитически, то ее график можно построить без использования узловых точек.
Построить в Matlab график без узловых точек можно с помощью специальной графической функции fplot. Функция имеет синтаксис:
fplot('f(x)', [xmin xmax]) ,
где 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):
- x Label, Y Label, Z Label - подписи осей осей;
- Title - надпись названия диаграммы;
- Legend - легенда, т.е. обозначение линий графиков;
- Colorbar - вывод цветовой палитры;
-Arrow - рисование стрелки;
- Line - рисование линии;
- Text - позволяет поместить текст в области построения диаграммы;
- Axes - позволяет построить оси.
Команды Matlab для оформления графиков
- команда grid on наносит сетку на график;
- функция 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.
Запустим М-файл на выполнение- будет выведен график с соответствующими подписями (рис. 10).