Побудова тривимірних графіків в matlab, контент-платформа

Побудова тривимірних графіків в MATLAB.

Графік функції двох змінних в MATLAB - це поверхня, розташована над областями визначення функції. Тому для промальовування такого графіка потрібне використання тривимірного зображення.

Найпростішим інструментом, здатним відобразити графік функції диух змінних, є

де X, Y і Z - матриці зі значеннями функції (точками z) в наборах (x, y).

В системі MATLAB є спеціальна функція для отримання двовимірних масивів X і Y по одновимірним масивам x, y.

В MATLAB існує функція побудови двовимірних масивів X і Y по одновимірним x, y.

Побудова тривимірних графіків в matlab, контент-платформа

Нехай по осі x заданий вектор

а по осі y діапазон

Для отримання матриць X і Y, що містять значення точок в цій прямокутній сітці, використовується функція:

Обчислимо тепер на отриманої прямокутної сітці значення функції exp:

Тепер застосуємо функцію plot3, яка була описана вище, і отримаємо наступний графік:

Побудова тривимірних графіків в matlab, контент-платформа

Щоб побудувати тривимірні лінії, задані параметрично, застосовується інша форма виклику функції plot3:

тут x, y і z - одномірні масиви координат точок, які треба послідовно з'єднати відрізками прямих.

Наступний приклад дозволяє побудувати кручені лінію:

Побудова тривимірних графіків в matlab, контент-платформа

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

Крім цієї найпростішої функції побудови графіків в MATLAB є набір інструментів, що дозволяє зробити відображаються об'єкти більш наочними. Це функції mesh, surf та surfl.

Функція mesh з'єднує обчислені сусідні точки поверхні графіка відрізками прямих і показує в графічному вікні системи MATLAB плоску проекцію такого об'ємного "каркасно-ребристого" (по-англійськи зветься wireframe mesh) тіла. Замість раніше показаного за допомогою функції plot3 графіка функції

Mesh з'єднує сусідні обчислювальні точки відрізками, причому невидимі лінії при відображенні ховаються. Якщо ж такі лінії для відображення необхідні, потрібно скористатися командою.

Для прикладу розглянемо використання функції mesh в разі побудови того ж графіка функції

Побудова тривимірних графіків в matlab, контент-платформа

Виклик ж функції

дозволяє отримати таке зображення, яке представляє собою поверхню, а не набір ліній.

Побудова тривимірних графіків в matlab, контент-платформа

Розфарбовування окремих елементів поверхні в цьому випадку проводиться автоматично. Якщо ж розфарбувати їх необхідно по-іншому, краще всього скористатися функцією surfl.

Ця функція сприймає побудовану поверхню як матеріальну, що володіє певними властивостями. За умовчанням вона задає певний джерело світла. після чого розраховує траєкторії відбитих від поверхні променів. Таким чином, якщо задати умовні параметри матеріалу поверхні, наприклад:

тобто набір квітів (colormap), відповідний міді (copper), то після виклику функції

ми отримаємо наступний графік:

Побудова тривимірних графіків в matlab, контент-платформа

Прибрати чорні лінії і домогтися більш лпавного світла дозволяє команда