Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основи роботи в MATLAB.doc
Скачиваний:
23
Добавлен:
10.11.2018
Размер:
253.44 Кб
Скачать

Графіки функцій

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

Команда plot призначена для побудови двовимірних графіків функцій, заданих в аналітичній формі або у вигляді векторів і матриць. В залежності від вхідних аргументів plot дозволяє будувати декілька функцій на одному графіку, відображати їх різними кольорами, типами точок і ліній та в різних системах координат.

Можливими формами виклику функції plot є:

  • plot(y) – побудова графіку залежності елементів вектора y від їх індексів;

  • plot(x,y) – побудова графіку залежності y від x;

  • plot(x,y,s) – побудова графіку залежності y від x зі стилем лінії (колір і тип лінії, тип маркеру), заданим аргументом s;

  • plot(x1,y1,x2,y2,…,xn,yn) – побудова графіків декількох функцій на одних координатних осях;

  • plot(x1,y1,s1,x2,y2,s2,…,xn,yn,sn) – побудова на одних координатних осях графіків декількох функцій з відповідними стилями ліній.

Приклад В.8. Побудуємо графік функції на відрізку :

>> x=0:0.01:10;

>> y=sin(x);

>> plot(x,y)

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

Досить часто виникає необхідність одночасної побудови декількох графіків. MATLAB надає для цього наступні можливості:

  • виведення кожного графіку в окремому графічному вікні;

  • виведення декількох графіків у одному вікні (на одних координатних осях);

  • виведення декількох графіків у одному вікні (на окремих координатних осях).

Для відкриття нового порожнього графічного вікна призначена команда

>> figure

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

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

  • з використанням команди hold on;

  • за допомогою функції plot(x1,y1,x2,y2,…,xn,yn).

Приклад В.9. Побудуємо на одному графіку функції і на відрізку .

Сформуємо вектори x, y та z:

>> x=0:0.01:10;

>> y=sin(x);

>> z=cos(x);

Для відображення обох графіків у одному графічному вікні виконаємо команду hold on, після чого побудуємо графіки за допомогою функції plot:

>> hold on

>> plot(x,y)

>> plot(x,z)

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

>> hold off

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

>> plot(x,y,x,z)

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

MATLAB надає користувачам можливість змінювати стиль ліній графіків (колір і тип ліній, тип маркерів). Для цього служить додатковий аргумент функції plot, що задається після кожної пари векторів:

plot(x,y,'колір_стиль_маркер') 

plot(x1,y1,'колір_стиль_маркер',…,xn,yn,'колір_стиль_маркер') 

Цей аргумент заключається в апострофи та може складатися з одного, двох або трьох символів, які визначають колір, тип лінії і тип маркера (див. табл. В.3).

Таблиця В.3

Стилі графіків

Колір лінії

Тип лінії

Тип маркера

y

жовтий

-

суцільна

.

крапка

m

рожевий

:

пунктирна

o

круг

c

блакитний

-.

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

x

хрест

r

червоний

--

штрихова

+

знак “плюс”

g

зелений

*

зірочка

b

синій

s

квадрат

w

білий

d

ромб

k

чорний

p

п’ятикутна зірка

Для побудови декількох графіків в одному вікні, але на окремих координатних осях, призначена функція

subplot(m,n,p)

яка розбиває графічне вікно на матрицю з m на n підграфіків і вибирає p-й підграфік поточним. Підграфіки нумеруються послідовно зліва направо, згори вниз. Щоб додати графік функції до поточного підграфіку, треба звернутись до функції plot.

Корисною альтернативою plot є функція fplot, форма звернення до якої наступна:

fplot('fun',[a,b],n)

Тут

fun – рядкова змінна, що містить запис функції, графік якої треба побудувати, або ім’я файлу, в якому ця функція визначена;

[a,b] – інтервал побудови графіка;

n – кількість точок, за якими буде побудований графік функції (за замовчуванням n = 25).

Приклад В.10. Побудуємо графік функції на відрізку за допомогою функції fplot:

>> fplot('sin(x)',[0,10])

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

Приклад В.11. Побудуємо графік функції , де , :

>> [x,y]=meshgrid(-pi:0.1:pi,-pi:0.1:pi);

>> z=sin(cos(x+y));

>> mesh(z)