Построение графиков отрезками прямых
Функции одной переменной
у(х)
находят широкое применение в практике математических и других расчетов, а также в технике компьютерного математического моделирования. Для отображения таких функций используются графики в декартовой (прямоугольной) системе координат. При этом обычно строятся две оси — горизонтальная
X
и вертикальная
Y,
и задаются координаты
х
и
у,
определяющие узловые точки функции
у(х).
Эти точки соединяются друг с другом отрезками прямых, т. е. при построении графика осуществляется линейная интерполяция для промежуточных точек. Поскольку MATLAB — матричная система, совокупность точек
у(х)
задается векторами X и Y одинакового размера.
Команда plot служит для построения графиков функций в декартовой системе координат. Эта команда имеет ряд параметров, рассматриваемых ниже.
plot (X, Y) — строит график функции
у(х),
координаты точек
(х, у)
которой берутся из векторов одинакового размера Y и X. Если X или Y — матрица, то строится семейство графиков по данным, содержащимся в колонках матрицы.
Приведенный ниже пример иллюстрирует построение графиков двух функций —
sin(x)
и
cos(x),
значения функции которых содержатся в матрице Y, а значения аргумента
х
хранятся в векторе X:
» х=[0 12345];
» Y=[sin(x):cos(x)];
» plot(x.Y)
На рис. 6.1 показан график функций из этого примера. В данном случае отчетливо видно, что график состоит из отрезков, и если вам нужно, чтобы отображаемая функция имела вид гладкой кривой, необходимо увеличить количество узловых точек. Расположение их может быть произвольным.
Рис. 6.1.
Графики двух функций в декартовой системе координат
plot(Y) — строит график
у(г),
где значения
у
берутся из вектора Y, a
i
представляет собой индекс соответствующего элемента. Если Y содержит комплексные элементы, то выполняется команда plot (real (Y). imag(Y)). Во всех других случаях мнимая часть данных игнорируется.
Вот пример использования команды plot(Y):
» х=2*pi:0.02*pi:2*pi;
» y=sin(x)+i*cos(3*x);
» plot(y)
Соответствующий график показан на рис. 6.2.
Рис. 6.2.
График функции, представляющей вектор Y с комплексными элементами
plot(X.Y.S) — аналогична команде plot(X.Y), но тип линии графика можно задавать с помощью строковой константы S.
Значениями константы S могут быть следующие символы.
Цвет линии |
|
Y |
Желтый |
М |
Фиолетовый |
С |
Голубой |
R |
Красный |
G |
Зеленый |
В |
Синий |
W |
Белый |
К |
Черный |
Тип точки |
|
. |
Точка |
0 |
Окружность |
X |
Крест |
+ |
Плюс |
* |
Звездочка |
S |
Квадрат |
D |
Ромб |
V |
Треугольник (вниз) |
А |
Треугольник (вверх) |
< |
Треугольник (влево) |
> |
Треугольник (вправо) |
Р |
Пятиугольник |
H |
Шестиугольник |
Тип линии |
|
- |
Сплошная |
; |
Двойной пунктир |
-. |
Штрих-пунктир |
-- |
Штриховая |
рlot (X1. Y1, S1, Х2, Y2. S2. ХЗ. Y3, S3,...) — эта команда строит на одном графике ряд линий, представленных данными вида (X..Y..S.), где X. и Y. — векторы или матрицы, a S. — строки. С помощью такой конструкции возможно построение, например, графика функции линией, цвет которой отличается от цвета узловых точек. Так, если надо построить график функции линией синего цвета с красными точками, то вначале надо задать построение графика с точками красного цвета (без линии), а затем графика только линии синего цвета (без точек).
При отсутствии указания на цвет линий и точек он выбирается автоматически из таблицы цветов (белый исключается). Если линий больше шести, то выбор цветов повторяется. Для монохромных систем линии выделяются стилем.
Рассмотрим пример построения графиков трех функций с различным стилем представления каждой из них:
» x=-2*pi:0.1*pi:2*pi;
» yl=sin(x);
» y2=sin(x).^2;
» y3=sin(x).^3:
» plot(x.yl.'-m',x,y2.'-.+r'.х.у3,'--ok')
Графики функций для этого примера показаны на рис. 6.3.
Рис. 6.3.
Построение графиков трех функций на одном рисунке с разным стилем линий
Здесь график функции yl строится сплошной фиолетовой линией, график у2 строится штрих пунктирной линией с точками в виде знака «плюс» красного цвета, а график уЗ строится штриховой линией с кружками черного цвета. К сожалению, на черно-белых рисунках этой книги вместо разных цветов видны разные градации серого цвета.