Лабораторна робота № 8
Використання кольорового графічного режиму побудови графіків
1. Порядок виконання роботи
1.1. Скласти алгоритмічною мовою Фортран програму чисельного диференціювання табличної функції та використати для зображення функції і її похідних на моніторі кольоровий графічний режим.
1.2. Відлагодити на комп’ютері складену програму.
1.3. Ввести числові дані та отримати результат.
1.4. Скласти звіт про роботу й захистити його.
2. Вказівки до виконання роботи
2.1. Чисельне диференціювання табличної функцій
При розв’язуванні ряду інженерних задач виникає необхідність диференціювання функцій, заданих у вигляді таблиці (табличних функцій):
У цих випадках виконують чисельне диференціювання, яке полягає у наближеному знаходженні похідної у вузлах за спеціальними формулами.
Найпростішою є формула для обчислення похідної функції як відношення скінченого приросту функції до відповідного приросту аргументу. Так, похідну у n-му вузлі таблиці, якою задана функція, наближено можна обчислити за формулою
EMBED Equation.DSMT4
де EMBED Equation.DSMT4 – крок аргументу. Вона отримана за рахунок заміни функції в околі точки n інтерполяційним поліномом першого степеня. Очевидно, що чим менша величина кроку, тим вища точність обчислення похідної.
Точніші формули для обчислення похідної при заданому h (тут і далі будемо вважати, що вузли рівновіддалені, тобто h = const) отримують, замінивши функцію EMBED Equation.DSMT4 інтерполяційним поліномом степеня, більшого від першого. Так, на відміну від наведеної вище двоточкової формули чисельного диференціювання отримують три-, чотири-, п’ятиточкові і т.д. формули. У цьому випадку для обчислення похідної необхідно у відповідний вираз підставляти значення функції не у двох, а у трьох, чотирьох, п’яти і т.д. сусідніх вузлах. Такі формули відповідно називають три-, чотири- і п’ятиточковими.
В інженерних задачах найчастіше використовують триточкові формули:
EMBED Equation.DSMT4
Очевидно, що при необхідності чисельного диференціювання функції, заданої аналітично, потрібно спочатку протабулювати функцію (як це робилося в лабораторній роботі № 2), а потім, використовуючи формули чисельного диференціювання, обчислити значення похідної в усіх її вузлах.
Приклад. Для заданої функції
EMBED Equation.DSMT4
скласти програму її чисельного диференціювання в діапазоні від a до b при заданій у цьому діапазоні кількості N рівновіддалених вузлів. Порівняти наближені значення похідної з їх точними значеннями. Результати обчислень вивести до файла у вигляді таблиці, яка би містила порядковий номер вузла, значення аргументу х, значення функції у, наближене значення похідної EMBED Equation.DSMT4 та її точне значення. Вивести на екран монітора кольорове графічне зображення функції та точне і наближене значення її похідної.
Задана функція диференціюється аналітично. Формула, за якою обчислюється точне значення похідної, має вигляд:
EMBED Equation.DSMT4
Один із можливих варіантів програми наведений далі. Він передбачає виведення на екран монітора у кольоровому графічному режимі протабульованої функції y(x) та наближеного і точного значень її похідної EMBED Equation.DSMT4 Для використання цієї можливості в основну програму слід вставити два оператори (у тексті програми ці оператори виділені жирним шрифтом). Перший з них
INCLUDE ‘FGRAPH.FI’
підключає графічну бібліотеку, а другий
CALL GRAF(X, Y, Y1, Y1T, N)
– це звернення до підпрограми GRAF побудови графіків функції та наближеного і точного значень її похідної у вузлах. У процесі роботи підпрограми GRAF використовуються ще три інших підпрограми: підпрограма VID обчислення максимальних за модулем значення функції й значення похідних функції у вузлах та формування значень функції й значень похідних функції “у відносних одиницях”, підпрограма PRMM визначення максимального
і мінімального значень функції чи похідних у вузлах та підпрограма CR_REAL перетворення дійсного числа в ASCII код.
Для виконання поставленого завдання студентові необхідно скласти лише основну програму. Підпрограми GRAF, VID, PRMM і CR_REAL складені викладачами кафедри “Електричні машини та апарати” НУ “Львівська політехніка” і містяться у програмному забезпеченні даної дисципліни.
Для використання кольорового графічного режиму в оболонці Microsoft Developer Studio слід створити спеціальний проект.
Послідовність створення проекту та запуску програми є такою:
1. У верхньому меню знаходимо опцію File, а далі підопцію New, у якій вибираємо зі списку графу Project Workspace, як показано на рис. 14, та натискаємо ОК.
Рис. 14. Оболонка Microsoft Developer Studio
2. Послідовно вказуємо назву, місце розташування та тип проекту, як показано на рис. 15.
Рис. 15. Послідовність створення та вибір типу проекту
ПАМ'ЯТАЙТЕ!!! Попередньо у робочій папці (у прикладі це папка Lab8, що записана за адресою D:\Students\EM-11\ ) слід записати набрану основну програму (LAB8.FOR) та файл GRAF.FOR з програмного забезпечення даної дисципліни, де містяться підпрограми GRAF, VID, PRMM і CR_REAL.
3. У верхньому меню знаходимо опцію Insert та підопцію Files into Project. У вікні, яке появиться, слід вибрати файли, що ввійдуть до проекту (відповідно до прикладу це LAB8.FOR та GRAF. FOR) та натиснути ОК або Add. У результаті цієї операції зліва з’явиться віконце з деревом проекту, як показано на рис. 16.
4. Компілюємо файли LAB8.FOR та GRAF. FOR. У результаті виконання такої операції у робочій папці автоматично створиться папка DEBUG, у якій будуть знаходитися файли з розширенням *.obj.
5. Будуємо проект та створюємо файл lab8.ехе.
6. Закриваємо Microsoft Developer Studio.
7. Налаштовуємо відеорежим. Оскільки графічна бібліотека Microsoft Developer Studio використовує 256 кольорів, то для налаштування переключення біжучого відеорежиму у режим 256 кольорів слід виконати наступні операції:
знайти файл з іменем проекту і розширенням *.ехе (відповідно до прикладу, файл міститься за адресою: D:\Students\EM-11\lab8\debug);
навести мишку на файл, натиснути її праву кнопку та вибрати опцію меню Властивості (англ. Properties);
у віконечку знайти закладку Сумісність та вибрати параметри екрану (поставити значок навпроти тексту „256 кольорів”), як показано на рис. 17;
натиснути ОК.
8. Запускаємо програму (файл lab8.exe) на виконання.
Рис. 16. Вигляд вікна з деревом проекту та файлами, що складають проект
SHAPE \* MERGEFORMAT
Рис. 17. Вибір параметрів екрану
Текст підпрограм GRAF, VID, PRMM і CR_REAL:
Якщо за наведеною програмою чисельного диференціювання виконати обчислення в діапазоні від a = –1,0 до b = 2,0 при заданій кількості N = 21 рівновіддалених вузлів, то одержимо файл вихідної інформації REZ.DAT, у якому буде записана таблиця:
-----------------------------------------------------------------------------
| n | Аргумент х | Функція y |Похідна (наб.)|Похідна (точ.)|
-----------------------------------------------------------------------------
| 1| –.100E+01 | –.229E+01 | .37615E+01 | .37560E+01 |
| 2| –.850E+00 | –.176E+01 | .33002E+01 | .33019E+01 |
| 3| –.700E+00 | –.130E+01 | .28393E+01 | .28375E+01 |
| 4| –.550E+00 | –.906E+00 | .23878E+01 | .23836E+01 |
| 5| –.400E+00 | –.581E+00 | .19609E+01 | .19550E+01 |
| 6| –.250E+00 | –.318E+00 | .15687E+01 | .15618E+01 |
| 7| –.100E+00 | –.110E+00 | .12174E+01 | .12100E+01 |
| 8| .500E–01 | .475E–01 | .90997E+00 | .90250E+00 |
| 9| .200E+00 | .163E+00 | .64698E+00 | .63975E+00 |
| 10| .350E+00 | .242E+00 | .42710E+00 | .42033E+00 |
| 11| .500E+00 | .291E+00 | .24766E+00 | .24149E+00 |
| 12| .650E+00 | .316E+00 | .10514E+00 | .99657E–01 |
| 13| .800E+00 | .322E+00 | –.45130E–02 | –.92784E–02 |
| 14| .950E+00 | .315E+00 | –.85572E–01 | –.89620E–01 |
| 15| .110E+01 | .297E+00 | –.14231E+00 | –.14567E+00 |
| 16| .125E+01 | .272E+00 | –.17883E+00 | –.18155E+00 |
| 17| .140E+01 | .243E+00 | –.19896E+00 | –.20110E+00 |
| 18| .155E+01 | .212E+00 | –.20616E+00 | –.20779E+00 |
| 19| .170E+01 | .181E+00 | –.20351E+00 | –.20470E+00 |
| 20| .185E+01 | .151E+00 | –.19367E+00 | –.19448E+00 |
| 21| .200E+01 | .123E+00 | –.18084E+00 | –.17938E+00 |
-----------------------------------------------------------------------------
На екран монітора виведеться кольорове графічне зображення функції та її похідних у вигляді, наведеному на рис. 14 (на цьому рисунку графічне зображення подано чорно-білим). З рис. 18 видно, що наближене значення похідної функції (суцільна лінія) і точне значення її похідної (пунктирна лінія) практично збігаються.
Рис. 18. Графічне зображення функції та наближене і точне значення її похідної
2.2. Завдання
Скласти програму чисельного диференціювання функції. Результати обчислень записати до файла. Вивести на екран монітора графічне зображення функції та наближене і точне значення її похідної, порівняти наближені значення похідної з точними. Дані для розрахунку наведені в табл. 9.
Таблиця 9
Дані для чисельного диференціювання