Глава 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;