Построение двумерных графиков



Функция plot

 

Для построения графиков вида y=f(x) в Scilab существует функция plot. Синтаксис этой функции сильно изменился в четвертой версии пакета. В Scilab 4.0 функция plot значительно модифицирована и ее возможности теперь значительно расширены и сопоставимы с возможностями функции plot из Matlab 7. При простейшем обращении к функции plot(x,y) будет создано окно с именем Scilab Graphic (0), в котором будет построен график функции y(x) на интервале.

Для формирования XY графика необходимо:

Задать аргумент в формате x=<начало>:<шаг>:<конец>.

Вычислить функцию, например, y=f(x).

Вывести график процедурой plot(x,y,s). Процедура рисует график прямыми линиями между вычисленными точками. Здесь s - строковая константа, задающая параметры линии (цвет, тип точки, тип линии), ее можно пропускать (тогда параметры выбираются по умолчанию). В табл. 3 приведены значения s.

Таблица 3

Символы цветов линий типов точек, типов маркера (значения s)

Цвет линии

Тип точки

Тип линии

y желтый . точка - сплошная
m фиолетовый о кружок : двойной пунктир
с голубой х крест -. штрих пунктир
г красный + плюс -- штрих
g зеленый * звездочка    
b синий s квадрат    
w белый d ромб    
k черный Ù треугольник вверх    
    Ú треугольник вниз    
    < треугольник влево    
    > треугольник вправо    
    p пятиконечная звезда    
    h шестиконечная звезда    

 

Пример 19. На рис.10 график функции y=sin(cos(x)).

x=-2*%pi:0.1:2*%pi;

y=sin(cos(x));

plot(x,y,'X','Y','plot function y=sin(cos(x))');

Если повторно обратиться к функции plot, то будет создано новое графическое окно и в нем будет построен новый график. Для построения нескольких графиков в одной системе координат можно поступить одним из следующих способов.

1. Обратиться к функции plot следующим образом plot(x1,y1,x2,y2,… xn,yn), где x1, y1 – массивы абсцисс и ординат первого графика; x2, y2 – массивы абсцисс и ординат второго графика; …, xn, yn – массивы абсцисс и ординат n-ого графика.

Рис. 10. График функции y=sin(cos(x))

Пример 20.

x=-6.28:0.02:6.28;

y=sin(x/2);

z=cos(x);

v=exp(cos(x));

plot(x,y,x,z,x,v);

Полученный график представлен на рис. 11.

2. Каждый график изображать с помощью функции plot(x,y), но перед обращением к функциям plot(x2,y2), plot(x3,y3), …, plot(xn,yn) вызвать команду mtlb_hold(' on') , которая блокирует режим создания нового окна.

Пример 21.

x=-6.28:0.02:6.28;

y=sin(x/2);

plot(x,y);

mtlb_hold(' on');

z=cos(x);

plot(x,z);

mtlb_hold(' on');

v=exp(cos(x));

plot(x,v);

Обратите внимание, что при построении графиков первым способом Scilab автоматически изменяет цвета изображаемых в одной системе координат графиков (рис.12).

Однако управлять цветом и видом каждого из изображаемых графиков может и пользователь, для чего необходимо воспользоваться полной формой функции plot:

plot(x1, y1, s1, x2, y2, s2, …, xn, yn, sn)

где x1, x2, …, xn – массивы абсцисс графиков; y1, y2, …, yn – массивы ординат графиков; s1, s2, …, sn – строка, состоящая из трех символов, которые определяют цвет линии, тип маркера и тип линии графиков (см. табл. 3), в строке могут использоваться один или два символа.

Рис.11. График функции y=sin(x/2), z=cos(x); v=exp(cos(x)) в Scilab 4

Рис. 12. Построение графиков функций y=sin(x/2), z=cos(x);v=exp(cos(x)) в Scilab 4

вторым способом

 

В качестве примера рассмотри построение графиков функций y=sin(x/2), z=cos(x), v=exp(cos(2x)) на интервале с использованием управлением свойствами линий, в результате чего формируется окно, представленного на рис. 13.

Пример 22.

x=-6.28:0.02:6.28;

y=sin(x/2);

plot(x,y,'r-');

mtlb_hold('on');

z=cos(x);

plot(x,z,'k:');

mtlb_hold('on');

v=exp(cos(x));

plot(x,v,'b—');

Рис. 13. Построение графиков в Scilab с указанием свойств линий

 

Функция plot2d

Следующей функцией, которая может быть использована для построения графиков, является функция plot2d. В общем виде обращение к функции имеет вид:

plot2d([loglog],x,y,[key1=value1,key2=value2, ..., keyn=valuen]

logflag – строка из двух символов, каждый из которых определяет тип осей (n - нормальная ось, l – логарифмическая ось), по умолчанию "nn";

x – массив абсцисс;

y – массив ординат( или матрица, каждый столбец которого содержит массив ординат очередного графика) (количество элементов в массиве x и y должно быть одинаковым ), если x и y – являются матрицами одного размера, то в этом случае, каждый столбец матрицы y отображается относительно соответствующего столбца матрицы x;

keyi=valuei – последовательность значений параметров графиков, возможны следующие значения параметров: style – определяет массив (mas) числовых значений цветов графика (id цвета), количество элементов массива совпадает с количеством изображаемых графиков, по умолчанию, по умолчанию представляет собой массив masi=i, цвет i-й линии совпадает с номером i, для формирования id соответствующего цвета (кода цвета) можно воспользоваться функцией color, которая по названию (color("цвет")) или коду grb (color(r,g,b)) цвета формирует нужный id (код) цвета. Если значение стиля отрицательное то это будет точечный график без соединения точек между собой линиями. Пример построения нескольких графиков различного цвета приведен в примере 23 и рис.14;

rect – этот вектор [xmin, ymin, xmax, ymax] определяет размер окна вокруг графика, пример использования этого параметра приведен в примере 24 и рис. 15;

frameflag – параметр определяет окно в котором, будет изображаться график, он может принимать следующие значения: 0 – не вычислять размеры окна, использовать значения по умолчанию или значения из предыдущего графика, 1 – размер окна определяется параметром rect, 2 – размер окна определяется из соотношения между минимальным или максимальным значениями x и y, 3 – размер окна определяется параметром rect в изометрическом масштабе, 4– размер окна определяется из соотношения между минимальным или максимальным значениями x и y в изометрическом масштабе,

axesflag - параметр, который определяет рамку вокруг графика, следует выделить следующие значения этого параметра: 0 – нет рамки вокруг графика (пример 25 и рис. 16); 1 – изображение рамки, ось y слева (рис. 17); 3 – изображение рамки, ось y справа (рис. 18); 5 – изображение осей проходящих через точку (0,0) (рис.19);

nax – этот параметр используют, если параметр axesflag равен 1, nax представляет массив из четырех значений [nx, Nx, ny, Ny] – где Nx (Ny) – число основных делений с подписями под осью Х (Y), nx (ny) – число промежуточных делений;

leg – строка, определяющая легенды для каждого графика, структура строки такая: "leg1@leg2@leg3@...@legn", где leg1 – легенда первого графика, ..., legn – легенда первого графика.

Пример 23. Построить несколько графиков различного цвета в одной системе оординат (рис.14).

x=[-2*%pi:0.1:2*%pi];

y=[sin(x); cos(x)];

plot2d(x,y',style=[color("red"), color("blue")]);

Рис. 14. Использование параметра style в функции plot2d

 

Пример 24. Использование параметра rect в функции plot2d (рис.15).

x=[-2*%pi:0.1:2*%pi];

y=[sin(x); cos(x)];

plot2d(x,y',style=[color("red"),color("blue")],rect=[-8,-2,8,2]);

Рис. 15. Использование параметра rect в функции plot2d

 

Пример 25. Параметр axesflag=0 в функции plot2d (рис.16).

x=[-2*%pi:0.1:2*%pi];

y=[sin(x); cos(x)];

plot2d(x,y',style=[color("red"), color("blue")], axesflag=0);

Рис. 16. Параметр axesflag=0 в функции plot2d

Рис. 17. Параметр axesflag=1 в функции plot2d

 

Рис. 18. Параметр axesflag=3 в функции plot2d

 

Рис. 19. Параметр axesflag=5 в функции plot2d

 

Пример 26. Пример построения графиков функций с использованием параметра nax при построении функции plot2d (рис.20).

x=[-8:0.1:8];

y=[sin(x); cos(x)];

plot2d(x,y',style=[color("red"),color("blue")],axesflag=1,

nax=[4,9,3,6]);

Рис. 20. Использование параметра nax и leg в функции plot2d

Пример 27. Пример построения графиков функции с использование легенд (рис.20).

x=[-2*%pi:0.1:2*%pi];

y=[sin(x); cos(x)];

plot2d(x,y',style=[color("red"), color("blue")], axesflag=5,

leg="sin(x)@cos(x)");

Функцию plot2d можно использовать для построения точечных графиков. В этом случае обращение к функции имеет вид plot2d(x,y,d), где d – отрицательное число, определяющее тип маркера (пример 28 и рис. 21).

Пример 28. Построение точечного графика (рис.21).

x=[-2*%pi:0.25:2*%pi];

y=sin(x);

plot2d(x,y,-3);

Рис. 21. Построение точечного графика

 

Для изображения графика в виде ступенчатой линий в Scilab есть функция plot2d2(x,y).

Пример 29.  Пример изображения графика в виде ступенчатой линии (рис. 22).

x=[1911,1941,1961,1981,1991,1996];

y=[20,300,350,1100,1030,1020];

plot2d2(x,y);

 

Построение полярных графиков

Для построения графиков в полярной системе координат в Scilab служит функция polarplot:

polarplot(fi,ro,[key1=value1,key2=value2, ..., keyn=valuen])

где fi - полярный угол, ro – полярный радиус.

Пример 30. Построение полярных графиков функций ρ=3cos(5φ), ρ1=3cos(3φ) (рис.23).

fi=0:0.01:2*%pi;

ro=3*cos(5*fi);

ro1=3*cos(3*fi);

polarplot(fi,ro,style=color("red"));

polarplot(fi,ro1,style=color("blue"));

Рис. 22. Пример изображения графика в виде ступенчатой линии

 

Рис. 23. Пример построения полярных графиков

 


Дата добавления: 2019-09-13; просмотров: 380; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!