Зміна властивостей та групування графіків через командні рядки
Визначення властивостей графіка через систему меню зручне у випадку одноразового розв’язання нескладних задач. Але у разі написання програм із виведенням графічних результатів на екран, і, особливо, у разі подальшого їх використання для модельних експериментів, постійно змінювати графіки через систему меню незручно. Крім того, у розглянутому форматі команда plot не дає змоги поєднувати кілька графіків на одному полі або декілька полей графіків на одному малюнку, що часто потрібно для оформлення графічної документації. Розглянемо простий приклад. Якщо виконати послідовність таких команд:
» t=0:0.0001*pi:2*pi;
» y=sin(t); z=cos(t);
» plot (t,y); plot (t,z);
будуть створені два графічні вікна, в одному з яких виведений графік синуса, а у другому — графік косинуса. А при модельних експериментах часто треба поєднувати графіки обчислених функцій на одній координатній площині з метою порівняння їх властивостей та пошуку оптимального розв’язання. Для побудови двох графіків в одній системі координат використовують команду MatLab hold. Вона має два параметра і формат її досить простий: holdon— увійти урежим виведення графіків на одному полі;
hold off — вийти з режиму виведення графіків на одномуполі.
Інший спосіб поєднання графіків — це використання спеціального формату команди plot:
plot (вектор змінної, вектор функція 1, вектор змінної, вектор функція 2, …)
Зверніть увагу, що при використанні такого формату команди всі функції необхідно обчислювати від одного вектора змінної. Таким чином, є два способи, за допомогою яких можна змінити написану вище програму з метою виведення графіків двох функцій в одному графічному вікні.
Приклад:
» t=0:0.0001*pi:2*pi;
» y=sin(t); z=cos(t);
» hold on;
» plot (t,y);
» plot (t,z);
Перший спосіб зручно використовувати у разі поєднання великої кількості графіків, оскільки всі команди plot можна писати окремими рядками. Якщо кількість графіків невелика, то можна використовувати і другий спосіб.Після побудови графіків для зміни властивостей можна використати такі команди:
grid on — увійти у режим відображення сітки на графіку;
grid off— вийти зрежиму відображення сітки на графіку;
title(‘Текст заголовка графіка’)— команда виводить рядок, наведений у лапках, як заголовок графіка;
xlabel (‘Вісь Х’) — команда виводить рядок, наведений у лапках, як заголовок осі х;
ylabel (‘Вісь Y’) — команда виводить рядок, наведений у лапках, як заголовок осі y;
figure — команда формує нове графічне вікно для виведення графіків.
Програма для виведення графіків синуса і косинуса в одній системі координат має такий вигляд:
Приклад
» t=0:0.0001*pi:2*pi;
» y=sin(t); z=cos(t);
» hold on;
» plot (t,y); plot (t,z);
» grid on;
» t=0:0.0001*pi:2*pi;
» y=sin(t);
» z=cos(t);
» plot (t,y,t,z);
» title (‘Графіки синуса і косинуса’);
» xlabel (‘Вісь часу’);
» ylabel (‘Графіки функцій sin(t) та cos(t)’);
Слід зазначити, що за замовчуванням функції виведення тексту title, xlabel та ylabel не використовують кириличні шрифти, тому поки будемо користуватися графічними засобами зміни типу шрифта. Оскільки робота із системою меню має низку незручностей під час використання налагоджених програм для модельних експериментів, передбачена можливість зміни типу шрифта через командний рядок. Цю дію виконують за допомогою дескрипторної графіки, і вона буде описана у наступному підрозділі. У цьому разі на екрані перша крива відображується синім, адруга — зеленим кольором.
Інший ефективний спосіб групування графіків — це функція MatLab subplot, за допомогою якої можна розташовувати графіки на одному рисунку для різних площин із однаковими або різними осями координат. Таке подання графічних даних також важливе і чйого застосовують під час оформлення науково-технічної документації. Формати команди subplot:
subplot — створити нове вікно для виведення графічних даних. У цьому разі надані раніше команди subplot ігноруються і відкривається одне поле для виведення наступного графіка. Команда дублює figure за винятком того, що отримані раніше дані знищуються. Використовується рідко;
subplot (m, n, p)— команда розбиває площину графічного вікна на m х n полів для виведення графіків, де m— кількість рядків, n — кількість графіків в одному рядку, p — номер графіка.
Нумерація графіків здійснюється наскрізно рядками розглянемо роботу послідовностей команд plot та subplot на прикладі. У цьому разі будемо наводити вигляд графічного вікна після виконання фрагментів програми, які його змінюють.
» x=0:0.001*pi:10;
» subplot(2,2,1);
Рисунок розбито на чотири частини, є два вікна для виведення графіків зверху та два знизу. Активне перше вікно, розташоване у лівому верхньому куті. Інші вікна поки
не визначені, простір, відведений для них — порожній. Побудуємо графік в активному вікні, виконуючи наступні команди:
Приклад
» plot(x,sin(x));
» grid on;
» xlabel(‘x’);
» ylabel(‘sin(x)’);
» title (‘Графік функції y=sin(x)’);
На другому графіку розташований поряд із першим за горизонталлю, побудуємо дві криві, графік синуса, та графік косинуса. Це можна зробити за допомогою таких команд:
Приклад
» subplot(2,2,2);
» hold on;
» plot(x,sin(x));
» plot(x,cos(x));
» grid on;
» xlabel(‘x’);
» ylabel(‘sin(x)?? cos(x)’);
» title (‘Графіки функцій у=sin(x) та у=cos(x)’);
Після виконання команд графічне вікно має вигляд, наведений на рис.
На третьому графіку побудуємо коло через параметричне визначення функції. Послідовність команд може бути такою.
Приклад
» subplot(2,2,3);
» plot(cos(x),sin(x));
» grid on;
» xlabel(‘x=sin(t)’);
» ylabel(‘y=cos(t)’);
» title (‘Коло — параметрична функція’);
Побудуємо на четвертому графіку фігуру Лісажу, через таку послідовність команд:
Приклад
» subplot(2,2,4);
» plot(cos(3*x),sin(5*x));
» grid on;
» xlabel(‘x=sin(3t)’);
» ylabel(‘y=cos(5t)’);
» title (‘Фігура Лісажу’);
sin(x)
sin(x) та cos(x)
Графік функції y = sin(x) Графіки функцій y = sin(x) та y = cos(x)
Вигляд, який має графічне вікно після виконання команд
Дата добавления: 2016-05-11; просмотров: 739;