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

Базовые средства матпакета Scilab

.pdf
Скачиваний:
63
Добавлен:
04.04.2023
Размер:
6.29 Mб
Скачать

--> // Построение различных видов графиков функции двух переменных

--> // zM = xM.^2 + 2 * yM.^2

-->

-->// Формирование двух матрицxMиyM

--> [xM, yM] = meshgrid(-4 : 4, -4 : 4) xM =

0.1. 2. 3.

0.1. 2. 3.

0.1. 2. 3.

0.

1.

2.

3.

 

 

 

 

 

 

-->

 

 

 

 

 

 

 

 

 

yM

=

 

 

 

 

 

 

 

 

-3. -3. -3. -3.

 

 

 

 

 

-2. -2. -2. -2.

 

 

 

 

 

-1. -1. -1. -1.

 

 

 

 

 

 

0.

0.

0.

0.

 

 

 

 

 

-->

 

 

 

 

 

 

 

 

 

--> //

Формирование матрицыzM

 

 

 

 

-->deff('k =

f(x, y)', 'k = x.^2 + 2 * y.^2');

 

-->zM = f(xM, yM)

 

 

 

 

 

 

zM

=

 

 

 

 

 

 

 

 

 

48.

41.

36.

33.

32.

33.

36.

41.

48.

 

34.

27.

22.

19.

18.

19.

22.

27.

34.

 

24.

17.

12.

9.

8.

9.

12.

17.

24.

 

18.

11.

6.

3.

2.

3.

6.

11.

18.

 

16.

9.

4.

1.

0.

1.

4.

9.

16.

 

18.

11.

6.

3.

2.

3.

6.

11.

18.

 

24.

17.

12.

9.

8.

9.

12.

17.

24.

 

34.

27.

22.

19.

18.

19.

22.

27.

34.

 

48.

41.

36.

33.

32.

33.

36.

41.

48.

-->

 

 

 

 

 

 

 

 

 

--> //

Формирование векторовxVиyV

 

 

 

-->x2 = -4 : 4; y2 = -4 : 4;

 

 

 

 

-->

 

 

 

 

 

 

 

 

 

--> //

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

 

 

 

-->scf(1); mesh(xM,yM,zM)

// Сетчатыйграфик(окно 1)

-->scf(2);plot3d(xV, yV, zM)//График точек, соединенных отрезками

 

-->//прямых(окно 2)

 

 

-->scf(3);surf(xM,yM,zM)

// График сплошной поверхности (окно 3)

-->scf(4); contour(xV, yV,

zM, 7) // График контурных линий (окно

4)

Рис. 1.4.1-16. Построение различных видов графиков

Результатом выполнения функции meshявляется построение в окне

1графика поверхности в виде сетки(рис.1.4.1-17).

101

z(x,y).

Рис. 1.4.1-17 Результат выполнения в окне 1функцииmesh(xM,yM,zM)

В результате выполнения функцииplot3d(рис.1.4.3-17) происходит построение в окне2графика поверхности, где точки соединены отрезками прямой, а соответствующая заливка квадратов делает изображение фигуры объемной(рис. 1.4.3-18). Функцииplot3dимеет формат:

plot3d(xV,yV,zM),

гдеxVи yVвектора целых чисел, указывающие диапазон изменения параметров функции;zMматрица действительных чисел значений функции, описывающей поверхность

Рис. 1.4.3-18. Результат выполнения в окне 2функцииplot3d(xV,yV,zM)

102

Функция surfвыполняет построение в окне 3 графикасплошной поверхности(рис. 1.4.3-19) и имеет следующий формат:

surf(xM,yM,zM),

гдеxMи yMмассивы целых чисел, указывающие диапазон изменения параметров функции;zMматрица действительных чисел значений функции, описывающей поверхность z(x,y).

Рис. 1.4.1-20 Результат выполненияв окне 3функции surf(xM,yM,zM) Графикфункции двух переменных может быть представлен в виде

контурных линий(контурные линии – это линии, в каждой точке которых значение функции одинаково). Для этого в Scilab используется функция contour, имеющая формат:

contour(xV,yV,zM,n),

гдеxVиyVмассивыцелых чисел, указывающие диапазон изменения параметров функции;zMматрица действительных чисел значений функции, описывающей поверхность z(x,y);nцелочисленныйпараметр, который устанавливает количество контурных линий.

Функцияcontourпозволяет не только построитьв окне 4 график контурных линий, но и нанести в отдельных точках контурных линий значения функции (рис. 1.4.1-21). В этом примере получен график из 7-ми контурных линий, на каждой из которых отмечены значения функции.

103

Рис. 1.4.1-21 Результат выполнения в окне 4 функцииcontour(xV,yV,zM,7)

С использованием функцииmtlb_hold('on')(эта функция уже была применена раньше при построении графиков функции от одной переменной) в одном графическом окне можно построить несколько графиков функций от двух переменных. Например, построим в одном окне графики двух функций

(рис.1.4.1-22).

104

Рис.1.4.1-22 Построение двух графиков в одном графическом окне

С использованием функцииsubplotв одном графическом окне можно расположить несколько графиков. В этом случае перед построением каждого графика выполняется функцияsubplot(n,m,k),в которой указывается область построения текущего графика.

105

Рис.1.4.1-23. Построения в одном окне 4-х графиков

На рис.1.4.1-23 приведены командные строки, позволяющие в одном окне произвести построение четырех графиков. Для этого графическое окно разбито на четыре области (две строкиn=2и два столбцаm=2). Последний параметр (k)указывает номер области построения текущего графика. Нумерация областей осуществляется по строкам, начиная с 1. Результат выполнения функций subplotприведен на рис. 1.4.3-24.

Рис. 1.4.1-24. Построение 4-х графиков в одном графическом окне

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

polarplot(phi,ro),

где:phiдиапазон значений угла;roфункция от полярного угла.

106

На рис.1.4.1-25 приведен пример построения в полярных координатах графика функцииro=4*cos(3*fi), где fi(полярный угол) изменяется на интервале[0;2π]с шагом0.01.

--> // РИС14125: Построение графика в полярной системе координат

-->

--> fi=0:0.01:2*%pi; -->polarplot(0:0.01:2*%pi,4*cos(3*fi))

Рис.1.4.1-25 Построение графика функции в полярнойсистеме координат

-->// РИС14126:

-->// остроение 2D-гистограммы

--> -->hist3d(10*rand(10,10));

Рис.1.4.1-26 Построение 2D-гистограммы в виде 2D-графика с помощью функцииhist3d

Подробную информацию о рассмотренных выше графиках и других возможностях визуализации вычислений можно получить в справочной

107

системе пакета Scilab. Если вас интересует описание и примеры использования функции, название которой вы уже знаете, то достаточно в командной строке ввести, например,helphist3d,или ввести имя функции в

окнеСправочная система.

ВПриложении 1.4, табл. 1.4.1-2 представлены описания всех графических функций, используемых в этом разделе. Более полную справочную информацию о графических средствах и функциях Scilabможно получить на сайтеscilab.org[13].

Глобальное свойство графических объектов

Свойство графических объектов – GlobalProperty (ГлобальноеСвойство) – это необязательный аргумент, который может использоваться в графических функциях и позволяет осуществить глобальную настройку построения всех новых линий и поверхностей. Он может быть указан вplot или surf виде следующих пар:

'ИмяСвойства1',ЗначениеСвойства1,…,'ИмяСвойстваn',ЗначениеСвойстваn,

где:ИмяСвойстваn должно быть строкой, не чувствительной к регистру и определяющей то свойство, которое необходимо установить, а ЗначениеСвойстваn может быть вещественным, целочисленным или строкой (скаляром или матрицей) в зависимости от типа используемого свойства. Например, чтобы определить красную (цвет) штрихпунктирную линию с длинными штрихами (стиль линии) с маркерами в виде ромба (маркер), последовательность должна быть следующей:

'Color','red', 'LineStyle','-.', 'Marker','diamond'.

ВПриложении 1.4.1, табл.1.4.1-3 приведен полный список

ИмёнСвойстви их возможные значения – ЗначенияСвойства, которые можно установить при использовании plot или surf.

Иногда можно использовать два ИмениСвойства, соответствующих одному свойству: первое из них используется по умолчанию в Matlab, а второе имя по умолчанию используется в Scilab (например, Color или Foreground для линии).

На рис. 1.4.1-27 рассмотрен пример, в котором для построения двух графиков функций в одном графическом окне учтены и прокомментированы все описанные выше свойства графических объектов. Обратите внимание, что перед построением графика проведена очистка окнаОбозревателя переменных, Командного окнаиГрафических окон, а установка свойств графика (тип и ширина линии, тип точки (маркер) размер шрифта и др.) выполнена с использованием параметров функции plot, что является альтернативой средств графического редактора.

108

--> exec("РИС14127.sce", 0)

109

Рис.1.4.1-27. Построение и отображение графиков двух функций с использованием графических средств Scilab

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

Графические средства Scilabиспользуются для изучения многих дисциплин [14]. Приведем несколько примеров, иллюстрирующих построение графиков с использованием описанных выше функций, при изучении дисциплины «Теория электрических цепей» [15, 16, 17].

Построить два периода графика синусоидального напряжения

( ) = ( + )B,с амплитудойUm=5 В, угловой частотойω=4рад/си

сначальной фазойφ=300(рис.1.4.1-28).

--> exec("РИС14128.sce", 0)

110