русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Шановні українці! Матеріал був перекладений з російської мови. Тому можуть бути незначні помикли...

Побудова графіків функцій однієї змінної в MatLab

1. Графіки функцій в лінійному масштабі

MatLab має добре розвиненими графічними можливостями для візуалізації даних. Розглянемо на початку побудова найпростішого графіка функції однієї змінної на прикладі функції

,

певної на відрізку [0, 1]. Висновок функції у вигляді графіка складається з наступних етапів:

1. Завдання вектора значень аргументу х.
2. Обчислення вектора значень функції y(х).
3. Виклик команди plot для побудови графіка.

Команди для завдання вектора х та обчислення функції краще завершувати крапкою з комою для придушення виводу у командне вікно їх значень (після команди plot крапку з комою ставити необов'язково, оскільки вона нічого не виводить в командне вікно).

» х = [0:0.05:1];
» = ехр(-х).*sin(10*x);
» plot(x, y)

Після виконання команд на екрані з'являється вікно Figure No. 1 з графіком функції. Вікно містить меню, панель інструментів та область графіка. Надалі будуть описані команди, спеціально призначені для оформлення графіка. Зараз нас цікавить сам принцип побудови графіків і деякі прості можливості візуалізації функцій.

Для побудови графіка функції в робочому середовищі MatLab повинні бути визначені два вектори однаковою розмірності, наприклад х і . Відповідний масив х містить значення аргументів, а у - значення функції від цих аргументів. Команда plot з'єднує точки з координатами (x(i), y(i)) прямими лініями, автоматично масштабируя осі для оптимального розташування графіку у вікні. При побудові графіків зручно розташувати на екрані основне вікно MatLab і вікно з графіком поруч так, щоб вони не перекривали.

Побудований графік функції має злами. Для більш точного побудови графіка функцію необхідно обчислити y(х) у більшій кількості точок на відрізку [0, 1], тобто поставити менший крок при введенні вектора х:

» х = [0:0.01:1];
» = ехр(-х).*sin(10*x);
» plot(x, y)

У результаті виходить графік функції у вигляді більш плавною кривої.
Порівняння декількох функцій зручно робити, відобразивши їх графіки на одних осях. Наприклад, побудуємо на відрізку [-1, -0.3] графіки функцій

,

за допомогою наступної послідовності команд:

» х = [-1:0.005:-0.3];
» f = sin(x.^-2);
» g = sin(1.2*x.^-2);
» plot(x, f, x, g)

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

» х1 = [-1:0.005:-0.3];
» f = sin(x1.^-2);
» х2 = [-1:0.005:0.3];
» g = sin(1.2*x2.^-2);
» plot(x1, f, x2, g)

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

Примітка 1
Використання plot з одним аргументом - вектором - призводить до побудови "графіка вектора", тобто залежності значень елементів вектора від їх номерів. Аргументом plot може бути і матриця, в цьому випадку на одні координатні осі виводяться графіки стовпців.
Іноді потрібно порівняти поведінку двох функцій, значення яких сильно відрізняються один від одного. Графік функції з невеликими значеннями практично зливається з віссю абсцис, і встановити його вигляд не вдається. У цій ситуації допомагає функція plotyy, яка виводить графіки у вікно з двома вертикальними осями, що мають відповідний масштаб.
Порівняйте, наприклад, дві функції: і

» х = [0.5:0.01:3];
» f = х.^-3;
» F = 1000*(х+0.5).^-4;
» plotyy(x, f, x, F)

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

 

2. Графіки функцій в логарифмічних масштабах

Для побудови графіків в логарифмічної і полулогарифмическом масштабах служать наступні функції:
- loglog (логарифмічний масштаб по обох осях);
- semilogx (логарифмічний масштаб тільки по осі абсцис);
-semilogy (логарифмічний масштаб тільки по осі ординат).
Аргументи loglog, semilogx і semilogy задаються у вигляді пари векторів значень абсцис і ординат так само, як для функції plot, описаної в попередньому пункті. Побудуємо, наприклад, графіки функцій і на відрізку [0.1, 5] логарифмічної масштабі по осі х:

» х = [0.1:0.01:10];
» f = log(0.5*x);
» g = sin(log(x));
» semilogx(x, f, x ,g)

 

3. Завдання властивостей на графіках функцій

Побудовані графіки функцій повинні бути максимально зручними для сприйняття. Часто потрібно нанести маркери, змінити колір ліній, а при підготовці до монохромного друку - задати тип лінії (суцільна, пунктирна, штрих-пунктирна і т.д.). MatLab надає можливість керувати виглядом графіків, побудованих за допомогою plot, loglog, semilogx і semilogy, для чого служить додатковий аргумент, що пишеться за кожною парою векторів. Цей аргумент полягає в апострофи і складається з трьох символів, які визначають: колір, тип маркера і тип лінії. Використовується одна, дві або три позиції, залежно від необхідних змін. У таблиці наведено можливі значення цього аргументу зі вказівкою результату.

Колір

Тип маркера

Тип лінії

y

.

точка

-

суцільна

m

рожевий

o

гурток

:

пунктирна

c

блакитний

х

хрестик

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

r

червоний

+

знак "плюс"

--

штрихова

g

зелений

*

зірочка

 

 

b

синій

s

квадрат

 

 

w

білий

d

ромб

 

 

k

чорний

v

Трикутник вершиною вниз

 

 

 

 

^

Трикутник вершиною вверх

 

 

 

 

Трикутник вершиною вліво

 

 

 

 

трикутник вершиною вправо

 

 

 

 

p

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

 

 

 

 

h

шестикутна зірка

 

 

 

Якщо, наприклад, необхідно побудувати перший графік червоними точковими маркерами без лінії, а другого графік - чорної пунктирною лінією, то слід використовувати команду plot(x, f, "r.", х, g, "k:").

 

4. Оформлення графіків функцій

Зручність використання графіків багато в чому залежить від додаткових елементів оформлення: координатної сітки, підписів до вісі, заголовку та легенди. Сітка наноситься командою grid on, підписи до осях розміщуються за допомогою xlabel, ylabel, заголовок дається командою title. Наявність декількох графіків на одних осях вимагає приміщення легенди командою legend з інформацією про лініях. Всі перераховані команди застосовні до графіків як в лінійному, так і в логарифмічної і полулогарифмическом масштабах. Наступні команди виводять графіки зміни добової температури, які забезпечені всією необхідною інформацією.

» time= [0 4 7 9 10 11 12 13 13.5 14 14.5 15 16 17 18 20 22];
» temp1= [14 15 14 16 18 17 20 22 24 28 25 20 16 13 13 14 13];
» temp2= [12 13 13 14 16 18 20 20 23 25 25 20 16 12 12 11 10];
» plot(time, temp1, "ro-", time, temp2, "go-")
» grid on
» title"(Добові температури")
» xlabel("Час (год.)")
» ylabel("Температура (С)")
» legend("10 мая1, 11 травня")

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

  • -1 - поза графіком у правому верхньому куті графічного вікна;
  • 0 - вибирається краще становище в межах графіка так, щоб якомога менше перекривати самі графіки;
  • 1 - у верхньому правому куті графіка (це положення використовується за замовчуванням);
  • 2 - у верхньому лівому куті графіка;
  • 3 - в нижньому лівому куті графіка;
  • 4 - в нижньому правому куті графіка.

У заголовку графіка, легенди і підписах осей допускається додавання формул і зміна стилю шрифту за допомогою формату Тих.
MatLab виводить графіки різним кольором. Монохромний принтер надрукує графіки різними відтінками сірого кольору, що не завжди зручно. Команда plot дозволяє легко встановити стиль і колір ліній, наприклад

» plot(x,f,"k",-x,g,"k:")

здійснює побудова першого графіка суцільний чорної лінією, а другого - чорної пунктирною. Аргументи "k-" і "k:" задають стиль і колір першої і другої ліній. Тут k означає чорний колір, а дефіс або двокрапкою - суцільний або пунктирну лінію. Вікно з графіком можна закрити, натиснувши на кнопку з хрестиком у правому верхньому куті.

Переглядів: 4540

Повернутися взміст


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн