- •Національний авіаційний університет інститут електроніки та систем управління
- •Дослід№2. Найпростіші обчислення
- •Дослід № 3. Операції з матрицями
- •Дослід№4. Побудова графіків і діаграм
- •Дослід№5. Тривимірні поверхні
- •Дослід №6. Анімаційна графіка
- •Дослід№7. Збереження даних на диску і завантаження їх у програму
- •Дослід№8. Рішення системи лінійних рівнянь
- •Дослід№9. Пошук мінімуму функції
- •Дослід№10. Пошук кореня нелінійного рівняння
- •Дослід№11. Чисельне інтегрування
- •Дослід№12. Створення нових функцій
- •Дослід№13. Рішення диференціальних рівнянь
- •Дослід№14. Аналітичне обчислення похідної й інтеграла
- •Дослід№15. Символьні операції з математичними вираженнями і матрицями
- •Дослід№16. Аналітичне рішення алгебраїчних і диференціальних рівнянь
- •Дослід№17. Використання вбудованої довідкової системи
- •Дослід№18. Довідкова система з інтерфейсом Всесвітньої павутини
Дослід№11. Чисельне інтегрування
У цьому досвіді ми розглянемо, як чисельно інтегрувати функції.
Уведіть рядок х=0:0.01:1;, щоб визначити діапазон інтегрування функції.
Натисніть клавішу Enter.
Наберіть на клавіатурі рядок y=cos(x).*x; для завдання функції інтегрування.
Натисніть клавішу Enter.
Уведіть рядок z=trapz(x,y). Вбудована функція trapz інтегрує функцію у(х) методом трапецій.
Натисніть клавішу Еnter. У вікні програми з'явиться результат інтегрування введеної функції (Рис. 19).
Для
інтегрування з використанням квадратурних
формул треба скористуватись вбудованою
функцією quad.
За допомогою функції dblquad
можна обчислити
Рис. 17. Чисельне інтегрування
Дослід№12. Створення нових функцій
B програмі MATLAB нові функції потрібні не тільки для спрощення математичних розрахунків. Наприклад, при рішенні диференціальних рівнянь (дивись дослід "Рішення диференціальних рівнянь") не обійтися без створення і використання нових функцій. У цьому досліді ми розповімо, як складати функції.
Нові функції повинні бути записані в спеціальні файли з розширенням m, які називаються М-файлами. Функції в даних файлах автоматично підключаються до програми MATLAB. Щоб створити нову функцію, виконайте наступні кроки:
Натисніть кнопку “Відкрити файл” на панелі інструментів. На екрані з'явиться вікно редактора М-файлів (Рис. 18).
Рис. 18. Вікно редактора М-файлів
У центрі вікна редактора М-файлів розміщено робоче поле, призначене для введення новіх функцій.
Введіть рядок function y=sincos(x). Ключове слово function (Функція) об’являє нову функцію sincos з параметром х. Змінна у буде визначати значення функції.
Натисніть клавішу Enter.
Наберіть на клавіатурі рядок y=sin(x)+cos(x);, що задає нову функцію у вигляді суми синуса і косинуса.
Тепер збережемо створену функцію на диску.
Натисніть кнопку “Зберегти” на панелі інструментів у верхній частині вікна редактора М-файлів. На екрані з'явиться діалог “Зберегти як” (Save as) (Рис. 19.)
Рис. 19. Діалог “Зберегти як” (Save as)
Зверніть увагу, що в відкритому списку Папка (Save as) обрана підпапка програми MATLAB ,у якій зберігаються файли. У поле введення Ім'я файлу (File name) відображається ім'я створеної функції sincos.
Натисніть кнопку “Зберегти” (Save), щоб закрити діалог “Зберегти як” М-файл sincos з новою функцією буде збережений на диску.
Клацніть мишкою на кнопці в правому верхньому куті вікна редактора М-файлів, щоб закрити вікно. Залишилося перевірити роботу створеної функції.
Уведіть рядок z=sincos(0.5), щоб звернутися до функції.
Натисніть клавішу Enter. У вікні програми з'явиться результат обчислень створеної функції.
Варто помітити, що при створенні нових функцій у М-файлах можна використовувати вбудовану мову програмування, що розширює можливості програми MATLAB.
Дослід№13. Рішення диференціальних рівнянь
У цьому досліді розглянемо, як чисельно інтегрувати звичайні диференціальні рівняння.
Давайте вирішимо диференціальне рівняння у'(x)+y(x)=cos(x*x).
Створіть нову функцію з двох рядків (дивись дослід "Створення нових функцій"): function z=differ(x,y) z=cos(x*x)-y;
Створена функція differ визначає необхідне для рішення диференціальне рівняння, тобто у'(x)=differ(x,y).
Введіть рядок [x,y]=ode23('differ', 0:0.01:5, 0);. Вбудована функція ode23 методом Рунге-Кутта вирішує диференціальне рівняння, представлене функцією differ, на інтервалі інтегрування 0:0.01:5 з початковою умовою у(0)=0. У лівій частині рядка знаходяться вектори аргументу х і рішення рівняння у.
Натисніть клавішу Enter, щоб знайти рішення диференціального рівняння. Тепер представимо отримане рішення в графічному виді.
Уведіть рядок plot(x.y); для побудови графіка рішення (дивись дослід "Побудова графіків і діаграм").
Натисніть клавішу Enter. На екрані з'явиться вікно з необхідним графіком
Розглянута функція ode23 дозволяє вирішувати і системи диференціальних рівнянь, якщо створити потрібну функцію, що представляє систему. Дана вбудована функція забезпечує високу швидкість обчислень при помірній точності. А функція ode113 вирішує диференціальні рівняння з високою точністю.
