Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Графічні команди та функції

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Висновок легенди legend ('Текст1', 'Текст2', …), legend (M), legend (h, M), legend off, legend (…, pos), h = legend (…) — тут М — рядковий масив (довжина рядків однакова), off видаляє пояснення до графіку, pos визначає позицію легенди (-1 — праворуч від графіка, 0 — в одному з 4 кутів із мінімумом втрат точок графіка, 1−4 — у вказаному кутку, — у вказаному місці); можна перетягувати легенду мишею. Читати ще >

Графічні команди та функції (реферат, курсова, диплом, контрольна)

Міністерство освіти і науки, молоді та спорту України Національний технічний університет України Реферат на тему:

Графічні команди та функції

Київ

Зміст

  • Загальні відомості по графічним графікам та функціям
  • Розглянемо двомірні графіки
  • Графіка в лінійному масштабі
    • Розглянемо трьохвимірні графіки
      • Завдання осей координат
      • Лінії рівня
      • Додаткові можливості
      • Список використаної літератури

Загальні відомості по графічним графікам та функціям

Починаючи з версії 4.0 до складу системи MATLAB входить потужна графічна підсистема, яка підтримує як засобу візуалізації двовимірної і тривимірної графіки на екран терміналу, так і засоби презентаційної графіки. Слід виділити декілька рівнів роботи з графічними об'єктами. В першу чергу це команди і функції, орієнтовані на кінцевого користувача і призначені для побудови графіків в прямокутних і полярних координатах, гістограм і столбцових діаграм, тривимірних поверхонь і ліній рівня, анімації. Графічні команди високого рівня автоматично контролюють масштаб, вибір кольорів, не вимагаючи маніпуляцій з властивостями графічних об'єктів. Відповідний низькорівневий інтерфейс забезпечується дескрипторної графікою, коли кожному графічному об'єкту ставиться у відповідність графічна підтримка (дескриптор), на який можна посилатися при зверненні до цього об'єкта. Використовуючи дескрипторного графіком, можна створювати меню, кнопки виклику, текстові панелі і інші об'єкти графічного інтерфейсу.

За обмеженого обсягу даного довідкового посібника в нього включені тільки графічні команди і функції з мінімальними елементами дескрипторної графіки. Зацікавленому читачеві слід звернутися до документації по системі MATLAB, і в першу чергу до щойно вийшла з друку книзі «Using MATLAB Graphics» .

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

Для кожного графіка можна задати заголовок, нанести позначення осей і масштабну сітку.

Розглянемо двомірні графіки

plot (y) — побудова графіка одновимірного масиву в залежності від номера елемента (для двовимірного масиву будуються графіки для стовпців); plot (x, y) — побудова графіка функції y = y (x); при двовимірному х будуються графіки х = х (у); якщо обидва масиву двовимірні, будуються залежності для відповідних стовпців; plot (x, y, LineSpec) — завданням рядки LineSpec (до 3 символів) визначає стиль ліній, форму маркера точок і колір ліній і маркера:

Символ стиля линии

Цвет

Цвет

Непрерывная

Штриховая

Двойной пунктир

:

Штрихпунктирная

-.

Желтый

y

Фиолетовый

m

Голубой

c

Красный

r

Зеленый

g

Синий

b

Белый

w

Черный

k

Маркер може визначатися символами:

+ * °—ґ s (квадрат) d (ромб) р (п'ятикутник) h (шестикутник)

v ^ <> (стрілки)

За умовчанням вибирається безперервна лінія з точковим маркером і чергуванням квітів з жовтого по синій.

plot (x1, y1, LineSpec1, x1, y1, LineSpec2, …) — будує на одному графіку кілька ліній (діапазон по аргументу — об'єднання х1 і х2;

plot (…, 'PropertyName', PropertyValue, …)-задає значення властивостей графічного об'єкту Line (товщину ліній LineWidth, розмір маркера MarcerSize, колір маркера MarcerFaceColor і та ін.)

Приклад:

>> x=0:0.3:6;

>> y=besselj (0,x);

>> x1=0:0.4:8;

>> y1=besselj (1,x1);

>> plot (x, y,'-sk', x1, y1,'-pk','LineWidth', 1)

Приклад виконання функції plot зображено на рис1.

Рис1. Приклад графіка, функції plot.

Побудова графіків функцій

fplot (<�ім'я функції>, limits) будує графік функції (функцій) в інтервалі limits = [xmin, xmax]. В якості імені функції може використовуватися М-файл або рядок типу 'sin (x)', '[sin (x) cos (x)]', '[sin (x), myfun1 (x), myfun2 (x)]'. Можна встановити розміри графіка по осі значень функції limits = [xmin, xmax ymin ymax].

fplot (<�ім'я функції>, limits, eps) будує графік c відносною похибкою ерs (за замовчуванням 0.002) і максимальне число кроків (1/eps) +1. Цю конструкцію можна доповнити четвертим параметром n (n +1 — мінімальне число точок) і параметром LineSpec:

>> fplot ('[besselj (0, x) besselj (1, x) 0]', [0 10], [], 20)

ezplot ('f (x)') будує графік f (x), заданої символьним виразом (наприклад, ezplot ('x ^ 2−2 * x +1')), на інтервалі [-2p 2p] з висновком вираження в якості заголовка графіка.

ezplot ('f (x)', limits) і ezplot ('f (x)', limits, fig) будують графік f (x) на зазначеному інтервалі і в заданому вікні. Приклад побудови графіків функцій зображено на рис. 2.

Рис. 2. Приклад графіка, функції fplot.

Графік в полярних координатах визначається функціями polar (f, r) і polar (f, r, LineSpec), де f — масив значень кута і r — відповідні значення радіусу: x=rЧcos (j), y=rЧsin (j):

>> f=0:0.01:2*pi;

>> r=sin (2.*f).*cos (2.*f);

>> hp=polar (f, r), hold on

>> set (hp,'LineWidth', 4)

Приклад виконання зображено рис3.

Рис3. Реалізація приведеного прикладу.

Розглянемо ще один приклад:

>> f=0:0.01:12*pi;

>> r=exp (-0.1*f);

>> hp=polar (f, r), hold on

>> set (hp,'LineWidth', 2)

Реалізація роботи відтворена на рис4.

Рис 4. Реалізація приведеного прикладу.

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

Графік у напівлогарифмічному масштабі задається функціями semilogx і semilogy c тим же набором параметрів, що і plot (проводиться масштабування логарифмування по одній з координат).

Графік з двома осями ординат (одна відображається ліворуч, інша справа) реалізується функцією plotyy (x1, y1, x2, y2) і тією ж функцією з додаванням параметрів масштабування 'f1' або 'f1', 'f2', в ролі яких можуть виступати plot, semilogx, semilogx, loglog:

>> x=0:0.01:12*pi;

>> plotyy (x, sin (x).*exp (-0.1.*x), x, 10*exp (-0.1.*x))

Приклад виконання зображено на рис 5.

Рис 5. Реалізація приведеного прикладу

Розглянемо трьохвимірні графіки

графіка візуалізація презентаційний екран

У тривимірній графіці виконуються представлення функції z = z (x, y), що відрізняються способом з'єднання точок: лінія, перетину, сітчаста або суцільна поверхня.

plot3 (x, y, z) в тих же варіаціях, що і plot, припускає завдання одновимірних і двовимірних масивів (будуються точки з координатами x (i, :), y (i, :), z (i, :) для кожного стовпця і з'єднуються прямими лініями. Якщо використовується [x, y] = meshgrid (…), то будуються перетину.

>> t=0:pi/50:10*pi;

>> plot3(sin (t), cos (t), t)

Приклад виконання зображено на рис 6.

Рис. 6 Реалізація приведеного прикладу

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

>> z=exp (-x.^2-y.^2);

>> plot3(x, y, z)

Приклад побудови графіків функцій зображено на рис.7

Рис. 7. Приклад графіка, функції plot3

mesh (x, y, z, c), mesh (z, c), mesh (z) визначають завдання сітчастої поверхні (масив визначає кольори вузлів поверхні; якщо x, y не вказани, то x = 1: n, y = 1: m, де [m, n] = size (z).

>> [x, y]=meshgrid (-8:0.5:8);

>> t=sqrt (x.^2+y.^2)+0.001;

>> z=sin (t)./t;

>> mesh (x, y, z)

Приклад побудови графіків функцій зображено на рис. 8

Рис. 8. Приклад графіка, функції mesh

Аналогічна функція meshс на додаток до поверхні будує проекції ліній рівня, а meshz робить зріз поверхні до нульового рівня (своєрідний п'єдестал).

>> meshc (x, y, z)

Приклад побудови графіка функцій зображено на рис. 8.1

Рис. 8.1. Приклад графіка, функції meshc

>> meshz (x, y, z)

Приклад побудови графіка функцій зображено на рис. 8.2

Рис. 8.2. Приклад графіка, функції meshz

surf (x, y, z, c), surf (z, c), surf (z) визначають завдання суцільної поверхні, відрізняючись від mesh системою фарбування; аналогічна функція surfс (…) задає проекції ліній рівня.

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

hidden on / off включає або вимикає режим видалення невидимих?? ліній (за замовчуванням on);

shading faceted / flat / interp встановлює затінення поверхонь (за замовчуванням faceted дає рівномірне забарвлення осередків з чорними гранями, flat — квітами вузлів сітки, interp — інтерполяцією квітів.

Завдання осей координат

Створення графічного об'єкта виходить автоматично при зверненні до команд, що породжує об'єкти Line і Surface, але може виконуватися і командою axec ('<�ім'я властивості>', <�значення>, …). Є й команди більш високого рівня:

axis ([xmin xmax ymin ymax]), axis ([xmin xmax ymin ymax zmin zmax]) встановлює масштаб по осях;

axes off / on вимикає (включає) висновок на координатні осі позначень та маркерів;

grid on / off, grid включає (вимикає) або перемикає режим нанесення координатної сітки на осях;

box on / off, box включає (вимикає) або перемикає режим малювання контуру паралелепіпеда, тривимірний об'єкт;

zoom on / off включає (вимикає) режим інтерактивного масштабування графіків (ліва миша близько точки збільшує масштаб вдвічі, права — зменшує; утриманням лівої миші можна виділити прямокутну область для детального перегляду; zoom out відновлює вихідний графік.

Лінії рівня

На відміну від meshс (…) і surfс (…) функція contour малює тільки лінії рівня відповідних поверхонь і виступає в різноманітті синтаксичних форм: contour (X, Y, Z) — для масиву Z = Z (X, Y), contour (X, Y, Z, n) — то ж із зазначенням числа ліній рівня (за замовчуванням 10), contour (X, Y, Z, v) — то ж для масиву зазначених значень; contour (Z), contour (Z, n), contour (Z, v) — аналогічні функції без вказівки діапазонів для аргументів і contour (…, LineSpec) — аналогічні функції c зазначенням типу і кольору ліній (див. plot); [C, h] = contour (…) повертає масив с і вектор дескрипторів, дозволяючи тим самим продовжити роботу з малюнком (давати оцифровку ліній, заголовки та ін.)

Функція contourf (…) зафарбовує області між лініями рівня, аналогічна contourf (…) з різницею в форматі [C, h, cf] = contour (…), де cf визначає матрицю розмальовки.

>> [x, y]=meshgrid (-8:0.5:8);

>> t=sqrt (x.^2+y.^2)+0.001;

>> z=sin (t).^3./t;

>> [c, h]=contour (x, y, z, 20);

Приклад побудови лінії рівня зображено на рис.9

Рис. 9 Приклад лінії рівня contour

>> [x, y]=meshgrid (-2:0.25:2);

>> t=sqrt (x.^2+y.^2)+0.001;

>> z=sin (t).^3./t;

>> [c, h, cf]=contourf (x, y, z, 4);

Приклад побудови лінії рівня зображено на рис.10

Рис. 10 Приклад лінії рівня contourf

Функція contour3 (…) по синтаксису повністю аналогічна contour (…), але зображує не проекції ліній рівня, а малює їх у просторової інтерпретації; так команда [c, h] = contour3 (x, y, z, 20); дає фігуру (рис.11)

Рис. 11 Приклад прсторові лінії рівня contour3

Додаткові можливості

Створення нового графічного вікна figure; командою figure (n) можна вибирати деякий із створених вікон в якості поточного.

Включення (виключення) режиму збереження поточного графіка:

hold on / off, hold.

Висновок заголовків для графіків (у поточному вікні): title ('текст'), title (<�ім'я функції-рядки> '), title (…,' Property-Name ',' PropertyValue ', …), h = title (…).

Висновок графіків в декількох вікнах малюнка: subplot (m, n, k), subplot (mnk) — m — число вікон по горизонталі, n — по вертикалі, k — номер вікна:

>>subplot (121)

>> plot ([1:0.3:4])

>> subplot (122)

>> plot ([4:-0.3:1])

>> title ('y=4−0.3(x-1)')

Приклад графіків в кількох вікнах зображено на рис.12

Рис. 12 Графік в кількох вікнах

Виведення тексту для позначення координатної осі: xlabel (…), ylabel (…), zlabel (…) — синтаксис аналогічний title (…).

Виведення тексту в зазначеній позиції графіка: text (x, y, 'текст'), text (x, y, z, 'текст'), text (… 'PropertyName', 'PropertyValue', …), h = text (…).) — x, y, z-координати початку тексту.

Виведення тексту під управлінням миші: gtext ('текст'), h = gtext ('текст') — виведений текст можна переміщати мишею.

Висновок легенди legend ('Текст1', 'Текст2', …), legend (M), legend (h, M), legend off, legend (…, pos), h = legend (…) — тут М — рядковий масив (довжина рядків однакова), off видаляє пояснення до графіку, pos визначає позицію легенди (-1 — праворуч від графіка, 0 — в одному з 4 кутів із мінімумом втрат точок графіка, 1−4 — у вказаному кутку, [xy] - у вказаному місці); можна перетягувати легенду мишею.

>> subplot (111)

>> t=[0:pi/30:2*pi];

>> a=sin (t); b=cos (t);

>> x=0:60;

>> plot (x, a+b), hold on

>> hp=plot (x, a', 'g', x, b','r'); set (hp,'LineWidth', 2)

>> legend ('a+b','a=sin (t)','b=cos (t)')

>> title ('y=sin (t)+cos (t)','FontSize', 12,'FontWeight','bold')

Приклад реалізації зображено на рис.13

Рис. 13 Реалізація прикладу

Маркування ліній рівня, створюваних функціями contour, contour3, contourf: clabel (C, h), clabel (C, h, v), clabel (C, h, 'manual'), clabel ©, clabel (C, v), clabel (C, 'manual') — за наявності h маркування на лініях, при наявності 'manual' - примусова маркування натисканням лівої миші або пробілу (права миша або Return завершує маркування).

Список використаної літератури

1. http://www.exponenta.ru/soft/matlab/potemkin/book2/chapter10/contens.asp

2. http://vtit.kuzstu.ru/books/shelf/158/doc/glava9.html

Показати весь текст
Заповнити форму поточною роботою