Дослідження методів інтерполяції

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

ня.

4. Розвязання задачі в пакеті прикладних програм

 

Інтерполяцію напруги в точках здійснимо в пакеті прикладних програм MathCAD, використавши процедуру linterp (vx,vy,x), де vx - вектор значень аргументів, vy - вектор відповідних значень функції, x - задані значення аргументу функції, для яких треба вирішити задачу інтерполяції. Результати можна представити як значення функції при заданих значеннях аргументу, так і у вигляді графіка.

 

Рисунок 7. Результати вирішення задачі в пакеті MathCAD

 

З рисунку видно, що результатом інтерполяції при є значення напруги U=0,415 мВ, а при - U=0,903 мВ.

5. Аналіз результатів моделювання

 

Визначимо похибки моделювання, прийнявши за точний розвязок розвязок в пакеті прикладних програм MathCAD.

Абсолютні похибки знайдемо за формулою

 

, (12)

 

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

Відносні похибки обчислимо за формулою

 

. (13)

 

Абсолютна похибка при застосуванні методу розподілених різниць дорівнює при

 

, при

.

 

Відносна похибка для даного методу при

 

, а при .

 

Визначимо похибки, що виникають при застосуванні методу Лагранжа. При

 

, при

.

 

Відносна похибка для даного методу при

 

, а при

.

 

Результати роботи програми є однаковими, як при застосуванні методу Лагранжа, так і методу розподілених різниць, похибки обчислень є суттєвими.

6. Інструкція користувачеві

 

Програма розроблена з використанням мови програмування Turbo Pascal 7.0 та має назву Interpol.

Для запуску програми необхідно запустити файл Interpol. exe.

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

Для вибору методу розподілених різниць необхідно натиснути клавішу "1", для вибору методу Лагранжа - клавішу "2".

Після вибору методу для графічного представлення результатів інтерполяції функції в точках необхідно натиснути клавішу "Enter".

Для виходу з програми необхідно послідовно натиснути клавіші "Esc" та "Enter".

Висновки

 

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

Розроблено програму, що розвязує задачу методами розподілених різниць та Лагранжа. Задача інтерполяції вирішена в пакеті прикладних програм MathCAD, і визначено похибки моделювання.

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

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

Література

 

1. Квєтний Р.Н. Методи компютерних обчислень. Навчальний посібник. -Вінниця: ВДТУ, 2001.

2. Фаронов В.В. Турбо Паскаль 7.0. Начальний курс. Учебное пособие. -М.: Издательство "ОМД Групп", 2003.

3. Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы. - М.: Наука, 1987.

4. Дубовий В. М, Квєтний Р.Н. Основи застосування ЕОМ у інженерній діяльності. -К.: ІСДО України, 1994.

5. Глинський Я.М., Анохін В. Є., Ряжська В.А. Паскаль. 3-є вид. - Львів: "Деол", 2002.

Додатки

 

Додаток А. Блок-схема основної програми

 

Додаток Б. Лістинг програми

 

Program interpol;

Uses Crt,Graph;

Const t1=75; t2=93;

T: array [0. .5] of integer = (20,40,60,80,100,120);

U: array [0. .5] of real = (-0.67,-0.25,-0.17,0.61,1.06,1.52);

Var

A1: array [0. .5] of real;

A2: array [0. .5] of real;

A3: array [0. .5] of real;

A4: array [0. .5] of real;

A5: array [0. .5] of real;

driver,mode, i,j: integer;

x,x1,dx,y,y1,dy0,dy1,dy2,dy3,dy4,dy5,dy6,dy7: integer;

e,PP,P1,P2,Z1,Z2,ZZ: real; Ch: char;

LL0,LL1,LL2,LL3,LL4,LL5: real;

{----------------------------------------------------------------------------------------}

{TABLUCIA}

{----------------------------------------------------------------------------------------}

procedure tabluca;

begin

TextBackGround (white);

ClrScr;

TextColor (red);

Writeln ();

GoToXY (20,10);

Writeln (TARUROVO4NA TABLUCIA DLIA TERMOPARU);

GoToXY (15,12);

Writeln (------------------------------------------------);

GoToXY (15,13);

Writeln (| T,C | 20 | 40 | 60 | 80 | 100 | 120 |);

GoToXY (15,14);

Writeln (------------------------------------------------);

GoToXY (15,15);

Writeln (|U,mV | - 0.67| - 0.25| - 0.17| 0.61 | 1.06 | 1.52|);

GoToXY (15,16);

Writeln (------------------------------------------------);

end;

{----------------------------------------------------------------------------------------}

{-------------------------Graphik-----------------------------------------------------}

procedure graphik (driver,mode,x,x1,dx,y,y1,dy0,dy1,dy2,dy3,dy4,dy5,dy6,dy7: integer);

begin

driver: =detect;

initgraph (driver,mode,C: \progra~1\TP\bgi);

setviewport (20, 20,getmaxx-59,getmaxy-59,true);

clearviewport;

setbkcolor (white);

x: =20; y: =20;

dy0: = (getmaxy div 2 - (trunc (80*u [0])));

dy1: = (getmaxy div 2 - (trunc (80*u [1])));

dy2: = (getmaxy div 2 - (trunc (80*u [2])));

dy3: = (getmaxy div 2 - (trunc (80*PP)));

dy4: = (getmaxy div 2 - (trunc (80*u [3])));

dy5: = (getmaxy div 2 - (trunc (80*ZZ)));

dy6: = (getmaxy div 2 - (trunc (80*u [4])));

dy7: = (getmaxy div 2 - (trunc (80*u [5])));

dx: =t [1] -t [0] ;

setcolor (red);

line (4*dx,dy0,6*dx,dy1);

line (6*dx,dy1,8*dx,dy2);

line (8*dx,dy2,6*dx+t1,dy3);

line (6*dx+t1,dy3,10*dx,dy4);

line (10*dx,dy4,7*dx+t2,dy5);

line (7*dx+t2,dy5,12*dx,dy6);

line (12*dx,dy6,14*dx,dy7);

repeat

setcolor (green);

line (20,y,getmaxx,y);

line (x, 20,x,getmaxy);

x: =x+20; y: =y+20;

y1: =getmaxy div 2;

setcolor (blue);

outtextxy (2*20,y1,0 20 40 60 80 100 120);

outtextxy (20,y1-60*2, 1.5);

outtextxy (20,y1-40*2, 1.0);

outtextxy (20,y1-20*2, 0.5);

outtextxy (20,y1+60*2,-1.5);

outtextxy (20,y1+40*2,-1.0);

outtextxy (20,y1+20*2,-0.5);

until keypressed;

if readkey=#0 then driver: =ord (readkey);

closegraph

end;

{---------------------ZASTAVKA--------------------------------------------------}

{--------------