Лабораторная работа по "Информатике"

Автор работы: Пользователь скрыл имя, 23 Декабря 2012 в 18:22, лабораторная работа

Краткое описание

Задача: задать формулу графика с точностью..

Содержимое работы - 1 файл

7.docx

— 61.24 Кб (Скачать файл)

 

МИНИСТЕРСТВО  ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

 

ФГБОУ

Уфимский государственный  нефтяной технический 

университет

 

Кафедра прикладной математики и механики

 

 

 

 

 

 

лабораторная  работа

 

ПО ИНФОРМАТИКЕ

№7

 

 

 

 

 

 

 

Выполнил: студент  гр. БПГ-11-02     Исрафилова А.И.

                            Вариант 6

 

Принял: доцент кафедры ПММ                                                Ращепкин А.К.

 

 

 

 

 

 

 

Уфа 2012

 

Задача:  задать формулу графика с точностью

Исходные данные:

 

Xi

Yi

0.5

1.0

1.5

2.0

2.5

3.0

3.5

4.0

4.5

5.0

5.5

6.0

1.7076

0.9147

0.6733

0.5318

0.3955

0.3569

0.3084

0.2643

0.2377

0.2095

0.1872

0.1844


 

 

Решение:

Строим график по точкам:

 

 

Предположим, что исходная функция представляет собой обратную пропорциональность. Тогда необходимо произвести следующие  замены:

Ищем формулу  в виде: 

y=  a0=a0; a1=a1; x=x   

 

Паскаль-программа:

program;

uses crt;

var a,b,c,d,a0,a1,a10,a11,p:real;

i,n:integer;

x,y,x1,y1,f: array [1..12] of real;

begin

clrscr;

writeln(‘размер таблицы данных n=:'); readln(n);

write(‘задайте значение для x[i] и y[i]'); for i:=1 to n do

begin

write ('x(',i:2,')='); readln (x[i]);

write('y(',i:2,')='); readln (y[i]);

x1[i]:=x[i];

y1[i]:=1/ y[i];

end;

writeln ('числовые данные для аппроксимации:');

for i:=1 to n do begin

write('x(',i:2,')=',x[i]:2:4);

writeln ('y(',i:2,')=',y[i]:2:4);

end;

a:=0; b:=0; c:=0; d:=0;

for i:=1 to n do begin

a:=a+x1[i]; b:=b+y1[i]; c:= c+sqr(x1[i]); d:=d+x1[i]*y1[i];

end;

a10:= (b*c-a*d)/(n*c-sqr(a));

a11:=(n*d-a*b) /(n*c-sqr(a));

a0:=a10;

a1:=a11;

writeln ('параметры аппроксимирующей зависимости:');

writeln ('a0=', a0:2:4);

writeln ('a1=', a1:2:4);

writeln ('y[i]:');

for i:=1 to n do begin

f[i]:= 1/(a0+a1*x[i]);

write ('x(',i:2,')=', x[i]:2:4);

write ('f (',i:2,')=',f[i]:2:4);

end;

p:=0;

for i:=1 to n do p:=p+abs(y[i]-f[i])/y[i];

p:= p/n*100;

writeln ('Погрешность=',p:2:2,'%');

readln;

end.

 

 

 

 

 

 

Полученный  результат:

       

a0=0.1341 a1=0.9112 e=2.44%

Запишем исходную формулу в виде:

 

 

Блок-схема  метода:


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Информация о работе Лабораторная работа по "Информатике"