Смекни!
smekni.com

Дослідження зміни температури термопари за допомогою чисельних методів на ЕОМ (стр. 3 из 7)

(1.28)

Отриманий таким чином сплайн зветься “природним кубічним сплайном”.

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

1.4 Уточнена постановка задачі

Нехай на відрізку [а; b] визначено певний клас функцій {Р(х)}, наприклад клас алгебраїчних многочленів, а в точках х0, х1,..., хn цього проміжку задано значення деякої функції y=f(x): y0=f(x0), y1=f(x1),….yn=f(xn). Наближену заміну функції f на відрізку [а; b] однією з функцій Р(х) цього класу так, щоб функція P(х) в точках x0,x1, ..., xn набувала тих самих значень, що й функція f, тобто щоб Р(xi)= уi (і = 0, 1, ..., n), називають інтерполюванням, або інтерполяцією. Точки х0, хi, ..., хп називають вузлами інтерполювання, функцію Р(х) — інтерполюючою функцією, а формулy у=P(х), за допомогою якої обчислюють значення функції f у проміжку [а;b], — інтерполяційною формулою.

З геометричного погляду задача інтерполювання полягає в знаходженні кривої у= Р(х) певного класу, яка проходить через точки площини з координатами (хi, уi)

(i = 0, 1, ....,n) (рис.1.1.1).

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

У деяких випадках доцільніше використовувати інші класи інтерполюючих функцій. Якщо, наприклад, функція f періодична, то функцію Р(х) природно вибирати з класу тригонометричних многочленів, а якщо функція f перетворюється в нескінченність у заданих точках або поблизу них, то функцію Р(х) доцільно вибирати з класу раціональних функцій.

Розглядатимемо лише задачу параболічного інтерполювання, яку сформулюємо так: в n+1 різних точках х0, x1,..., хn задано значення

функції f: y0=f(x0), y1=f(x1),…, yn=f(xn) і треба побудувати многочлен

(1.29)

степеня n, який задовольняв би умови

(1.30)

Для визначення n+1 коефіцієнтів многочлена (1.29), який задовольняє умови (1.30), запишемо систему (n+1)-го лінійних рівнянь виду:

(1.31)

Ця система має єдиний розв'язок, бо її визначник є визначником Вандермонда, який не дорівнює нулю, бо вузли xi=(i=0,1,…,n) різні. А тому й задача параболічного інтерполювання має єдиний розв'язок, тобто існує єдиний алгебраїчний многочлен виду (1.29), що задовольняє умови (1.30). Многочлен Рn(х), який задовольняє умови (1.29), називають інтерполяційним многочленом, наближену рівність f(x)=Pn(x) –

інтерполяційною формулою, а різницю Rn(f,x)=f(x) – Pn(x) — залишковим членом інтерполяційної формули. Хоч інтерполяційний многочлен, що задовольняє умови (1.29), і єдиний, проте можливі різні форми його запису.

Інтерполяційний многочлен будують тоді, коли:

1) функцію задано таблично для деяких значень аргументу, а треба знайти її значення для значень аргументу, яких у таблиці немає;

2) функцію задано графічно, наприклад за допомогою самописного приладу, а треба знайти її наближений аналітичний вираз;

3) функцію задано аналітичнo, але її вираз досить складний і незручний для виконання різних математичних операцій (диференціювання, інтегрування тощо).

2 Розробка алгоритмів моделювання зміни температури термопари за допомогою чисельних методів на ЕОМ

2.1 Планування вхідних та вихідних даних

Для розв’язання поставленої задачі потрібні певні вхідні данні, на основі яких будуть проводитись обчислення. В нашому випадку вхідними даними будуть значення температури з постійним кроком та показання вольтметра.

Дані, які вводяться для обчислення зміни температури термопари мають тип float, тобто вони можуть приймати як цілі, так і дробові значення на інтервалі 3.4*10-38 до 3.4* 1038. Всі вхідні та вихідні данні можна звести в таблицю.

Таблиця 2.1.1 Вхідні та вихідні данні

Назва змінної Ідентифікатор Межі зміни Тип
1 Значення Т x[N] 3.4*10-38 -3.4* 1038 float
2 Значення QмВ y[N] 3.4*10-38 -3.4* 1038 float
3 Значення температури Tt 3.4*10-38 -3.4* 1038 float
4 Значення температури Ttn 3.4*10-38 -3.4* 1038 float
5 Результат по Лагранжу FLTt 1,7Е-308…1,7+308 double
6 Результат по Ньютону FNTt1 1,7Е-308…1,7+308 double
7 Похибка E 3.4*10-38 -3.4* 1038 float

2.2 Аналіз задач, які вирішуються при дослідженні зміни температури термопари на ЕОМ

Як відомо, термопара – це найпростіше замкнене електричне коло, що складається з двох різнорідних провідників (чи напівпровідників).

Згідно індивідуального завдання на курсову роботу, було розроблено програмний продукт, який виконує наступні функції:

- програма дає змогу інженеру отримати інформацію про температуру провідників, що входять до складу термопари при певній напрузі, яку показує вольтметр;

- програма покращує підбір матеріалу для провідників, що входять до складу термопари, яку в подальшому застосовують в різних сферах діяльності,(наприклад економічні і виробничі холодильні установки), завдяки тому, що інженер має можливість отримувати інформацію про температуру досліджуваного провідника в залежності від напруги, що проходить через нього;

- зручний інтерфейс, дає змогу інженеру підібрати групу матеріалів по характеристикам , що відповідають запитам, навіть самого прискіпливого клієнта;

- оформлення процесу підбору, з виведенням відповідного звіту про температуру матеріалу, напругу, що проходила через нього та похибку даного вимірювання.

2.3 Описовий алгоритм головної програми

Основна програма працює в режимі двухрівневого меню, яке розроблене в TurboC. В розробленій програмі використовується меню, тобто всі функції можуть використовуватись нескінченну кількість разів. Така властивість забезпечується завдяки використанню циклу в головній програмі, вихід з якого здійснюється лише при одній умові : вибір пункту меню „Вихід”.

Головне меню містить такі пункти:

-“Довідка”;

-“Тестування ”;

-„Результати”;

- „Вихід ”.

1. Пункт меню „ Довідка ” включає в себе такі пункти підменю:

- “Про автора ”, яке містить короткі відомості про автора програми;

- „Про програму ” - за допомогою якого ми можемо переглянути коротке описання програми.

2.Пункт меню „Тестування” включає в себе пункти підменю:

- “Тест 1” - за допомогою якого ми можемо протестувати дану програму за першим інтерполяційним многочленом Ньютона та Лагранжа;

- „Тест 2 ” - за допомогою якого ми можемо протестувати дану програму за другим інтерполяційним многочленом Ньютона та Лагранжа;

3.Пункт меню „Результати” включає в себе такі пункти підменю:

- “В файл ” - за допомогою якого ми можемо записати нові тестування у вказаний файл;

- „На екран ” – за допомогою якого ми можемо вивести на екран результати тестування;

- „На друк ” - за допомогою якого ми можемо вивести результати тестування на друк.

4. Пункт меню „Вихід” дає змогу користувачеві вийти з даної програми.

2.4 Схема алгоритму головної програми

Рисунок 2.4.1 Логічна схема керуючої програми

Рисунок 2.4.2 Логічна схема підменю „Довідка”

Рисунок 2.4.3 Логічна схема підменю „Тестування”

Рисунок 2.4.4 Логічна схема підменю „Результати”.

Рисунок 2.4.5 Логічна схема підменю „Вихід ”.


2.5 Опис основних функцій моделювання

Перелік функцій CALC.H:

double stepin(double x1,int f) – піднесення числа до степені f;

double faktorial(int k) – факторіал числа k;

double GetA(int i) – отримання множника а для першої інтерполяційної формули Ньютона;

double IntNuton1(double X1) – обчислення по першій інтерполяційній формулі Ньютона;

double GetВ(int i) – отримання множника а для другої інтерполяційної формули Ньютона;

double IntNuton2(double X1) – обчислення по другій інтерполяційній формулі Ньютона;

double IntLang(double X1) – обчислення по Лагранжу.

2.6 Структура комплексу програм для дослідження зміни температури термопари

Поскільки програма написана з використання модульного програмування, то розроблена программа складається з декількох модулів, розроблених самостійно.

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