Глава 3. Графика и численные методы в Scilab
Построение графиков
Краткие теоретические сведения
Графические объекты в Scilab строятся в специальном графическом окне (figure). Одновременно может быть открыто несколько таких окон, каждому из которых присваивается номер. Для перехода к имеющемуся окну с номером N или открытия нового графического окна необходимо ввести команду figure(N). Кроме того, первое обращение к графической команде автоматически вызывает появление графического окна, которому присваивается первый номер.
Для построения графиков функций одной переменной в декартовой системе координат используются различные формы команды plot, которая рисует графики функций по ряду точек, соединяя их отрезками прямых.
Командаplot(X,Y) – строит график функции, координаты точек которой берутся из векторов одинаковой размерности X и Y. Если Y – матрица, то строится семейство графиков по данным, содержащимся в столбцах матрицы.
Например, для построения графика функции y=sin(t) нужно задать следующий фрагмент программы.
Фрагмент программы t = 0:0.01:7; y = sin(t); plot(t,y) или t = 0:0.01:7;plot(t,sin(t)) | Графическое окно |
Командаplot(Y) – строит график зависимости, значения ординат которой берутся из вектора Y, а значения абсцисс представляют собой индексы соответствующих элементов вектора.
Фрагмент программы t = 0:0.01:7; y = sin(t); plot(y) | Графическое окно |
Для построения графиков двух функций — sin(x) и cos(x), значения функции которых содержатся в векторах y1 и y2, а значения аргумента х хранятся в векторе x, нужно задать:
Фрагмент программы x=0:0.01:6 y1=sin(x) y2=cos(x) plot(x,y1,x,y2) или x=0:0.01:6 plot(x,sin(x),x,cos(x)) Можно так x=0:0.01:6 plot(x,sin(x))plot(x,cos(x)) | Графическое окно |
Командаplot(X,Y,S) аналогична команде plot(X,Y), в которой формат линии графика можно задавать с помощью строковой константы S. Символы, которые могут использоваться в параметре S, приведены в таблице 3.1.
Таблица 3.1
Тип линии | Тип точки | Цвет линии | |||
- | Сплошная | . | Точка | y | Желтый |
: | Двойной пунктир | o | Окружность | m | Фиолетовый |
-. | Штрих-пунктир | x | Крест | c | Голубой |
-- | Штриховая | + | Плюс | r | Красный |
* | Звездочка | g | Зеленый | ||
s | Квадрат | b | Синий | ||
d | Ромб | w | Белый | ||
v | Треугольник | k | Черный |
Например, для отображения графика функции y=0.02x3 штриховой линией красного цвета с узловыми точками в виде ромбов можно выполнить следующую последовательность команд:
x=-5:0.5:2;
plot(x,0.02*x.^3,'--dr')
Командаplot(X1,Y1,S1,X2,Y2,S2,…)–строит графики нескольких функций на одном поле графика, где X1,Y1 – абсциссы и ординаты 1-й кривой, X2, Y2 – абсциссы и ординаты 2-й кривой и т.д. Дополнительные параметры S1, S2 и т.д. позволяют задать стиль линий графиков.
Рассмотрим пример построения графиков двух функций с различным стилем представления каждой из них:
Фрагмент программы x=-6:0.1:6 y1=sin(x) y2=sin(x).^2 plot(x,y1,'-хb',x,y2,'-+r') | Графическое окно |
Команды xgrid () позволяют задавать построение сетки на поле графика.
Заголовок графика и надписи осей графика можно вывести с помощью команды
Xtitle(title,xstr,ystr)
где title — символьная константа, содержащая название графика;
xstr — символьная константа, содержащая название оси X;
ystr — символьная константа, содержащая название оси Y .
Идентификацию кривых графика (создание легенды) можно выполнить с использованием команды legend, например,
legend("График Y(X)","График Y1(X1)”)
Ниже приведен пример построения графиков двух функций, у каждой из которых задан тип линии, маркер и цвет линии. На график нанесена координатная сетка, подписаны оси, выведена надпись самого графика и указана легенда в правом верхнем углу графика.
Фрагмент программы figure(1) X=2:0.1:5 Y=atan(X)./(1+sin(X).^2) X1=2:0.1:4 Y1=(1+sqrt(0.5*X1))./(0.5+sin(X1).^2) plot(X,Y,'--rx',X1,Y1,'-.go') xgrid () xtitle("График двух функций",… "ось Х","ось У") legend("График Y(X)",… "График Y1(X1)") | Графическое окно |
Для создания в графическом окне нескольких графических областей для вывода графиков применяется команда
subplot(m, n, p),
которая разбивает графическое окно на m´n областей, где m – число областей по вертикали, n - число областей по горизонтали, p – номер области, в которую будет выводиться текущий график (области отсчитываются последовательно по строкам).
Следующий пример иллюстрирует применение команды subplot:
х=-5:0.01:5;