Лекція 1.2 Основи графічної візуалізації обчислень MATLAB

Сайт: Навчально-інформаційний портал НУБіП України
Курс: Комп'ютерно-інтегровані технології. Ч1 ☑️
Книга: Лекція 1.2 Основи графічної візуалізації обчислень MATLAB
Надруковано: Гість-користувач
Дата: понеділок, 23 грудня 2024, 20:28

1. Вступ

У багатьох областях науки і техніки чисельне рішення задач недостатньо для аналізу результатів. Необхідна графічна інтерпретація. MATLAB дозволяє вирішувати ці задачі досить простими процедурами. Спочатку необхідно задати інтервал зміни аргументу х від початкового значення х0 до кінцевого хк із кроком х, що здійснюється оператором двокрапка “:”  х0  :  х  :  хк. Далі використовується команда побудови графіка функції b = f(x), що має ім'я plot. Plot будує не повний графік функції f(x), а лише задане числом елементів вектора х.

2. Побудова графіків відрізками прямих

Для побудови графіка функції b = f(x) необхідно задати сукупність точок х и у. Стосовно аргументу х це виконується оператором двокрапка, для b – належним програмуванням виразу функції, тобто необхідно застосувати знаки арифметичних операцій над масивами: :  .  *  ;  .  /  ;  .  .

Для відображення таких функцій використовується декартова прямокутна система координат. Команда побудови графіка функції b = f(x) plot має ряд параметрів.

рlot(х, у) – будує графік функції b = f(x), координати точок (х, у) які беруться з векторів однакового розміру х, у.

рlot(х, у, s) – аналогічна команді рlot(х, у), але тип лінії графіка можна задавати за допомогою константи s, значення якої представлені в таблиці 1.5.

 

Таблиця 1.5

Значення константи s

Колір лінії

Тип крапки

Тип лінії

s = y – жовтий

 m – фіолетовий

 c – голубий

 r – червоний

 g – зелений

 b – синій

 w – білий

 k – чорний

s = · – крапка

 О – окружність

 х – хрест

 + – плюс

 * – зірочка

 s – квадрат

 d – ромб

 ν – трикутник (униз)

 ^ – трикутник (нагору)

 < – трикутник (вліво)

 > – трикутник (вправо)

 p – п'ятикутник

 h – шестикутник

s = -    – суцільна

 :  – подвійний пунктир

 - . штрихпунктир

 - -  – штрихова

 

 

Таким чином, за допомогою константи s можна змінювати колір лінії, представляти вузлові точки різними оцінками і змінювати тип лінії графіка. Розглянемо приклад побудови графіків трьох функцій y1 = sin x; y2 = sin2 x; y3 = = sin3 x:

>> x = - 2 * pi : 0.01 * pi : 2 * pi ;

>> y1 = sin (x) ;

>> y2 = sin (x) . ^ 2 ;

>> y3 = sin (x) ) . ^  3 ;

>> plot(х, у1, ' - m 'xy2, ' - . + r ', xy3, ' - - ok ')

3. Створення масивів даних для тривимірної графіки

Тривимірні поверхні описуються функцією двох змінних z = f(x, y). Побудова тривимірних графіків вимагає визначення для х і у двомірних масивів – матриць. Для створення таких масивів служить функція meshgrid, що записується в такий спосіб:

 

[X, Y] = meshgrid(x, y);

 

Вона використовується разом з функціями побудови графіків тривимірних поверхонь. Функція перетворить область задану векторами х і у, у масиви X і Y, що можуть бути використані для обчислення функції двох змінних і побудови тривимірних графіків. Рядки вихідного масиву Х є копіями вектора х, а стовпці Y – копіями вектора y.

Приклад.

 

>> [X Y]

=

meshgrid (4 : 7 , 9  :  13)

 

       Х 

=

 

 

 

4     5     6     7

4     5     6     7

4     5     6     7

4     5     6     7

4     5     6     7

 

      

=

 

 

 

9     9     9     9

10   10   10   10

11   11   11   11

12   12   12   12

13   13   13   13

 

Приведемо ще приклад застосування функції meshgrid:

>> [X Y] = meshgrid (- 1:0.1:1,  -1:0.1:1);

 

Такий виклик функції створює опорну площину для побудови тривимірної поверхні при зміні х и у від -1 до 1 із кроком 0,1.

 

4. Побудова графіків поверхонь

Для побудови графіків функції z = f(x, y) використовується команда plot3 (…), яка є аналогом команди plot ( … ). Вона будує аксонометричне зображення тривимірної поверхні і має наступні форми:

рlot3 (х, у, z) – будує масив точок, представлених векторами х, у, z і з'єднує їх відрізками прямих.

рlot3 (X, Y, Z), де: X, Y, Z – три матриці однакового розміру, будує точки з координатами X(i, : ), Y(i, : ) і Z(i, : ) і з'єднує їх відрізками прямих. Приклад побудови графіка тривимірної поверхні Z = x2 + y2:

 

>> [X Y]

 

=

 

meshgrid ([ - 3  :  0.15  :  3])

>>  Z

=

X. ^ 2 + Y. ^ 2 ;

>> plot 3(X, Y, Z)

 

 

 

рlot3 (X, Y, Z, S) – забезпечує побудову графіка поверхні, але зі специфікацією стилю ліній і точок, що відповідає специфікації команди plot.

 

5. Вмикання і вимикання масштабної сітки

При побудові графіків поряд з розміткою осей часто необхідно мати масштабну сітку. Команди grid дозволяють керувати цим процесом. Якщо після команди побудови графіків додати команду включення або вимикання масштабної сітки, то можна одержати необхідний графік:

 

grid on додає сітку до поточного графіка;

grid off відключає сітку;

grid – послідовно робить включення і відключення сітки.

6. Представлення декількох графіків в одному вікні

Іноді необхідно в одному вікні помістити кілька графіків без накладення їхній один на одного. Для цього служить команда subplot, яку необхідно записати перед командою plot.

subplot (m, n, p) – розбиває графічне вікно на m ´ n підвікон, m – число підвікон по горизонталі, п – число вікон по вертикалі, р – номер підвікна, у яке буде виводитися поточний графік.

7. Видення тексту на графік за допомогою миші

Для маркірування графіків можна ввести будь-як текст за допомогою команди gtext. Команду прописують після команди plot.

gtext ('string') – виводить на графік маркер у видгляді хрестика. Встановивши маркер у потрібне місце і клацнувши кнопкою миші, одержимо текст на графіку.

8. Керування властивостями осей графіків

Якщо не задавати масштаб графіка, то він будується командою plot автоматично. Не завжди цей масштаб задовольняє користувача. Команда axis дозволяє встановити будь-який масштаб.

axis ([ x min  x max  y min  y max ]) – встановлює потрібний діапазон координат графіка по осях х і у.

Accessibility

Шрифти

Розмір шрифта

1

Колір тексту

Колір тла