В цьому розділі Новомосковсктель може познайомитися з графічним апаратом Scilab для побудови двовимірних графіків. Двовимірними будемо вважати такі графіки, в яких положення кожної точки задається двома величинами.
4.1 Функція plot
Розгляд графіків почнемо з найпростіших функцій виду y = f (x), для побудови яких в Scilab існує функція plot. У попередніх версіях Scilab (по третю версію Scilab включно) функція plot призначена для побудови графіка однієї функції y = f (x). Звернення до неї має вигляд:
Тут x масив абсцис; y масив ординат; xcap, ycap, caption підписи осей X, Y і графіка відповідно.
Побудувати графік функції y = sin (cos (x)) за допомогою функції plot.
Нехай x змінюється на інтервалі [2; 2] з кроком 0,1. Сформуємо масив X. Обчислюючи значення функції y = sin (cos (x)) для кожного значення масиву X, створимо масив Y. Потім скористаємося функцією plot (x, y) для побудови кривої і виведемо з її ж допомогою підпису координатних осей 'X' , 'Y', а також ім'я графіка 'plot function y = sin (cos (x))' (див. лістинг 4.1, рис.4.1).
![4 Побудова двовимірних графіків (побудова) 4 Побудова двовимірних графіків](https://images-on-off.com/images/118/4postroeniedvumernixgrafikov-021e89e1.jpg)
Глава 4. Побудова двовимірних графіків
Лістинг 4.1. Побудова графіка функції y = sin (cos (x)) за допомогою функції plot
plot (x, y, 'X', 'Y', 'plot function y = sin (cos (x))');
Мал. 4.1. Графік функції y = sin (cos (x))
У найпростішому випадку звернення до функції має вигляд plot (y), в якості масиву х виступає масив номерів точок масиву y. На лістингу 4.2 і на рис.4.2 представлений приклад побудови графіка функції y = f (i).
Лістинг 4.2. Побудова графіка функції виду y = f (i), де j номер точки в масиві y
y = [1 2 3 -2 4 5 -1 6 9 11 0 -2 5]; plot (y);
Такий синтаксис функції plot дозволяє будувати графіки декількох функцій.
Побудувати графіки функцій y = sin (cos (x)), z = cos (sin (x)), v = e sin (x). t = e cos (x) в одних координатних осях.
![4 Побудова двовимірних графіків (графіків декількох функцій) 4 Побудова двовимірних графіків](https://images-on-off.com/images/118/4postroeniedvumernixgrafikov-66b9dc85.jpg)
4.1. функція plot
Мал. 4.2. Графік функції y = f (i)
Припустимо, що x належить інтервалу [2; 2] і змінюється з кроком 0,1. Створимо масив X. Оскільки x є аргументом для всіх чотирьох функцій, його в зверненні до функції plot можна не вказувати. Також необов'язково формувати для кожної функції свій масив значень. Досить вказати в квадратних дужках через крапку з комою їх математичні вирази, і ці масиви автоматично будуть створені як проміжний етап побудови кривих функцій (див. Лістинг 4.3 і ріс4.3).
Лістинг 4.3. Побудова графіків декількох функцій в одних координатних осях за допомогою команди plot в Scilab 3
Як видно з рис. 4.3, функція plot в Scilab 3 не дозволяє побудувати повноцінні графіки декількох функцій. Тому в Scilab 4 вона була значно модифікована, і її можливості тепер значно розширені. Найпростіше ж звернення до функції plot в четвертій версії програми не змінився plot (x, y).
![4 Побудова двовимірних графіків (двовимірних) 4 Побудова двовимірних графіків](https://images-on-off.com/images/118/4postroeniedvumernixgrafikov-2e0f35e3.jpg)
Глава 4. Побудова двовимірних графіків
Мал. 4.3. Приклад побудови графіків декількох функцій в Scilab 3
4.2 Побудова декількох графіків в одній системі координат
При простому зверненні до функції plot (x, y) створюється вікно з ім'ям Scilab Graphic (0), в якому буде побудований графік функції y (x) на заданому інтервалі. Якщо ж повторно звернутися до функції plot, буде створено нове графічне вікно, і в ньому буде побудований новий графік.
Для побудови декількох графіків в одній системі координат можна звернутися до функції plot наступним чином:
де x1, y1 масиви абсцис і ординат першого графіка;
x2, y2 масиви абсцис і ординат другого графіка;
xn, yn масиви абсцис і ординат n-ого графіка.
Побудувати в одних координатних осях графіки функцій y = sin (x 2), z = cos (x) і v = exp (cos (x)).
![4 Побудова двовимірних графіків (двовимірних) 4 Побудова двовимірних графіків](https://images-on-off.com/images/118/4postroeniedvumernixgrafikov-61567e8b.jpg)
4.2. Побудова декількох графіків в одній системі координат
Визначимо інтервал зміни x [-6,28; 6,28], крок 0,02. Тепер сформуємо масиви значень функцій Y. Z, V.
Для побудови заданих кривих в одних координатних осях необхідно в якості аргументів функції plot попарно, через кому, вказати ім'я масиву першого аргументу і ім'я масиву першої функції, ім'я масиву другого аргументу і ім'я масиву другий функції і т. Д. У нашому випадку звернення до функції plot матиме вигляд plot (x, y, x, z, x, v) (лістинг 4.4 і рис.4.4).
Лістинг 4.4. Побудова графіків декількох функцій в одних координатних осях за допомогою команди plot в Scilab 4
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);
Мал. 4.4. Побудова графіків декількох функцій за допомогою функції plot
Побудувати кілька графіків в одному вікні можна і за допомогою короткої записи функції plot (x, y), але, перш ніж звертатися до функцій plot (x2, y2), plot (x3, y3). plot (xn, yn) викликати команду mtlb_hold ( 'on'), вона заблокує режим створення нового вікна.
Побудувати в одних координатних осях графіки функцій y = sin (x 2), z = cos (x) і v = exp (cos (x)). використовуючи команду mtlb_hold ( 'on').
![4 Побудова двовимірних графіків (графіків) 4 Побудова двовимірних графіків](https://images-on-off.com/images/118/4postroeniedvumernixgrafikov-8486cbcf.jpg)
Глава 4. Побудова двовимірних графіків
Як і в попередній задачі, перш за все визначаємо інтервал і крок зміни x [-6,28; 6,28], 0,02 і формуємо масиви значень функцій Y. Z, V. Однак застосовувати будемо коротку форму звернення до функції plot plot ( x, y), яка по черзі створить перший, другий і третій графік.
Для того, щоб кожен раз при виконанні функції plot не створювалося нове графічне вікно, перед нею будемо виконувати команду mtlb_hold ( 'on') (лістинг 4.5 і рис.4.5).
Лістинг 4.5. Побудова графіків декількох функцій в одних координатних осях за допомогою команди mtlb_hold ( 'on')
y = sin (x / 2); z = cos (x); v = exp (cos (x)); plot (x, y);
mtlb_hold ( 'on'); plot (x, z); mtlb_hold ( 'on'); mtlb_hold ( 'on'); plot (x, v);
Мал. 4.5. Приклад використання команди mtlb_hold ( 'on')
Зверніть увагу, що при побудові графіків першим способом (див. Задачу 4.3) Scilab автоматично змінює кольору кривих, зображуваних в одній системі координат.