Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 800240

.pdf
Скачиваний:
2
Добавлен:
01.05.2022
Размер:
1.09 Mб
Скачать

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

В простейшем случае обращение к функции имеет вид plot(y), в качестве массива х выступает массив номеров точек массива y. На листинге 3.2 и на рис. 2 представлен пример построения графика функции y f i .

Листинг 3.2. Построение графика функции вида

где j - номер точки в массиве y

y=[1 2 3 -2 4 5 -1 6 9 11 0 -2 5]; plot(y);

y

f

i

,

Такой синтаксис функции plot позволяет строить графики нескольких функций.

3.2. Построение нескольких графиков в одной системе координат

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

29

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

plot(x1,y1,x2,y2,...xn,yn),

где x1, y1 - массивы абсцисс и ординат первого графика; x2, y2 -массивы абсцисс и ординат второго графика; ... xn, yn - массивы абсцисс и ординат n-ого графика.

Задача 3.2. Построить в одних координатных осях

графики функций

y sin

x

 

 

 

 

,

 

2

 

z cos x

и

v

exp cos x

.

Определим интервал изменения x -[-6,28;6,28], шаг - 0,02. Теперь сформируем массивы значений функций Y , Z, V . Для построения заданных кривых в одних координатных осях необходимо в качестве аргументов функции plot попарно, через запятую, указать имя массива первого аргумента и имя массива первой функции, имя массива второго аргумента и имя массива второй функции и т. д. В нашем случае обращение к функции plot будет иметь вид plot(x,y,x,z,x,v) (листинг 3.3 и рис. 2).

Листинг 3.3. Построение графиков нескольких функций в одних координатных осях с помощью команды plot в Scilab.

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);

30

Рис. 2. Построение графиков нескольких функций

спомощью функции plot

3.3.Построение графиков в полярной системе координат

Полярная система координат состоит из заданной фиксированной точки O - полюса, концентрических окружностей с центром в полюсе и лучей, выходящих из точки O, один из которых OX - полярная ось.

Расположение любой точки M в полярных координатах можно задать положительным числом ρ = OM (полярный радиус), и числом ϕ, равным величине угла XOM (полярный угол).

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

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

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

keyn=valuen – последовательность значений свойств графика.

31

Задача

3cos 5 и

3.3.

1

Построить полярные графики функций

3cos 3 .

Определив диапазон и шаг изменения полярного угла, формируем массивы fi, ro.

Поочередно строим заданные кривые с помощью функции polarplot, при этом для линии графика функции ro установим красный цвет, а для функции ro1 -синий (cм. листинг 3.4, рис. 3).

Листинг 3.4. Пример построения графиков функций в полярной системе координат.

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"));

Рис. 3. Полярные графики функций

и

1 3cos 3

3cos 5

32

3.4. Построение графиков функций, заданных в параметрической форме

Задание функции y(x) с помощью равенств

x f t

и

y g t

называют параметрическим, а вспомогательную

величину t-параметром. Для построения графика функции, заданной параметрически, необходимо определить массив t, определить массивы x f t и y g t и построить график функции y(x), используя функции plot(x,y) либо plot2d(x,y).

Задача 3.4. Построить график строфоиды. Напомним, что строфоида представляет собой алгебраическую кривую третьего порядка, которая в общем виде задается уравнением:

x

2

a x y

2

a x

 

 

 

Представим это уравнение с помощью параметра t:

 

t 2

1

X t

 

 

 

 

 

t

2

1

 

 

 

 

 

 

 

 

 

 

Y t

t * t 2 1

 

 

 

t

 

1

 

 

 

2

 

 

 

 

 

 

 

 

 

 

(5)

(6)

Зададим массивы t, x и y и построим график с помощью функции plot(x,y)(см. листинг 3.5, рис. 4).

Листинг 3.5. Построение строфоиды с помощью функции plot.

t=-5:0.01:5; x=(t.^2-1)./(t.^2+1); y=t.*(t.^2-1)./(t.^2+1); plot(x,y);

33

Рис. 4. График строфоиды

Задача 3.5. Построить график полукубической параболы Полукубическая парабола-это алгебраическая кривая второго порядка, которая в общем виде может быть описана

следующим уравнением:

y

m

A Bx Cx

2

... Nx

n

.

 

 

 

Приведем это уравнение к параметрической форме

x t 0,5t 2y t 0,3t3

(7)

(8)

Как и в примере со строфоидой, t-параметр определяем как массив, а x и y как зависимые от него величины. Однако теперь для построения графика обратимся к функции plot2d(x,y) (см. листинг 3.6, рис. 5).

Листинг 3.6. Построение полукубической параболы с помощью функции plot2d

t=-3:0.01:3; x=0.5*t.^2; y=0.3*t.^3; plot2d(x,y);

34

Рис. 5. График полукубической параболы

3.5.Контрольные вопросы

1.Каковы аргументы функции plot, позволяющей строить двумерные графики?

2.В чём особенности построения нескольких графиков в единой системе координат?

3.В чём особенности построения графиков в полярной системе координат. Как задаются полярный угол и полярный радиус?

4.В чём особенности использования функции plot при параметрической форме задания графиков функции

35

Тема 4. ПОСТРОЕНИЕ ТРЕХМЕРНЫХ ГРАФИКОВ

ВSCILAB

Внастоящем разделе будут рассмотрены основные возможности Scilab по созданию трехмерных графиков - объемных и пространственных. При этом к трехмерным отнесем все графики, положение каждой точки которых задается тремя величинами.

Вцелом процесс построения графика функции вида Z(x, y) можно разделить на три этапа:

1. Создание в области построения графика прямоугольной сетки. Для этого формируются прямые линии,

параллельные координатным осям

xi и

x x ih, h xn x0

i

0

n

 

 

y

j

 

,i

,где

0,1,..., n,

y

 

y

 

jh, h

y

k

y

0

, j 0,1,..., k.

 

 

 

 

j

0

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. Вычисление значений функции

z

ij

 

f x

, y

j

 

 

 

i

 

 

во всех

узлах сетки.

3. Обращение к функции построения трехмерных графиков.

4.1.Функции plot3d и plot3d1

ВScilab поверхность можно построить с помощью функций plot3d или plot3d1. Их отличие состоит в том, что plot3d строит поверхность и заливает ее одним цветом, а plot3d1 - поверхность, каждая ячейка которой имеет цвет, зависящий от значения функции в каждом соответствующем узле сетки. Обращение к функциям следующее:

plot3d(x,y,z,[theta,alpha,leg,flag,ebox][keyn=valuen]),

plot3d1(x,y,z,[theta,alpha,leg,flag,ebox][keyn=valuen]),

36

здесь x – вектор – столбец значений абсцисс; y - векторстолбец значений ординат; z- матрица значений функции; theta, alpha - действительные числа, которые определяют в градусах сферические координаты угла зрения на график. Попросту говоря, это угол, под которым наблюдатель видит отображаемую поверхность; leg - подписи координатных осей графика - символы, отделяемые знаком @. Например, @. Например, ’X@Y@Z’. flag _ массив, состоящий из трех целочисленных параметров: [mode,type,box].

Здесь

mode устанавливает цвет поверхности (см.

табл. 3). По

умолчанию равен 2 цвет заливки синий,

прямоугольная сетка выводится.

Таблица 3

 

Значение параметра mode

Значение

Описание

>0

поверхность имеет цвет «mode»,

 

выводится прямоугольная сетка

0

выводится прямоугольная сетка,

 

заливка отсутствует (белый цвет)

<0

поверхность имеет цвет«mode»,

 

отсутствует прямоугольная сетка

type - позволяет управлять масштабом графика (см. табл. 4), по умолчанию имеет значение 2.

 

Таблица 4

 

Значения параметра type

Значение

Описание

0

применяется способ масштабирования, как у

 

ранее созданного графика

1

границы графика указываются вручную с

 

помощью параметра

2

границы графика определяют исходные данные

37

box - определяет наличие рамки вокруг отображаемого графика (см. табл. 5). По умолчанию равен 4.

 

 

 

Таблица 5

 

 

Значения параметра box

 

Значение

 

Описание

 

0 и 1

 

нет рамки

 

2

 

только оси, находящиеся за поверхностью

3

 

выводится рамка и подписи осей

 

4

 

выводится рамка, оси и их подписи

ebox

- определяет границы области,

в которую будет

выводиться

поверхность, как вектор [xmin,

xmax, ymin, ymax,

zmin, zmax]. Этот параметр может использоваться только при значении параметра type=1.

keyn=valuen - последовательность значений свойств графика

key1=value1, key2=value2, ..., keyn=valuen, таких как

толщина линии, ее цвет, цвет заливки фона графического окна, наличие маркера и др.

Таким образом, функции plot3d (plot3d1) в качестве параметров необходимо передать прямоугольную сетку и матрицу значений в узлах сетки.

Задача 4.1. Построить график функции Z sin t *cos t .

Создадим массив значений аргумента t. Вычислим значения функции и запишем их в массив Z. Обратите внимание, что при обращении к функции plot3d в качестве параметров X и Y , задающих прямоугольную сетку, дважды указан параметр t, поскольку обе функции и sin, и cos зависят от одной переменной t (см. листинг 4.1, рис. 6).

Листинг 4.1. Построение графика функции Z sin t *cos t с помощью функции plot3d.

t=[0:0.3:2*%pi]’;

38