Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая Аппроксимация функции методом наименьш...doc
Скачиваний:
3
Добавлен:
14.11.2019
Размер:
760.83 Кб
Скачать

Библиографический список.

Б.П.Демидович, И.А.Марон. Основы вычислительной математики. М: Государственное издательство физико-математической литературы.

Информатика: Учебник / Под ред. Проф. Н.В. Макаровой. М: Финансы и статистика, 1997.

Информатика: Практикум по технологии работы на компьютере / Под ред. Проф. Н.В. Макаровой. М: Финансы и статистика, 1997.

В.Б. Комягин. Программирование в Excel5 и Excel7 на языке Visual Basic. М: Радио и связь, 1996.

Н.Николь, Р.Альбрехт. Excel 5.0. Электронные таблицы. М: Изд. «ЭКОМ», 1996.

Приложение 1.

Рис.1 Выполненные вычисления в Excel

Приложение 2.

Рис.2 Выполненные вычисления в Excel

Приложение 3.

Рис.3 Выполненные вычисления в Excel

Приложение 4.

рис.4 Линейная аппроксимация

Приложение 5.

рис.5Квадратичная аппроксимация

Приложение 6.

рис.6Экспоненциальная аппроксимация

Приложение 7.

Блок Схема:

Рис.7 Блок схема

Приложение 8.

Программа расчета (на языке Pascal).

Program kurs;

Type

mas1=array[1..3,1..4] of real;

mas=array[1..25]of real;

mas2=array[1..5]of real;

mas3=array[1..3,1..4]of real;

Var

A,B:mas;

A1,B1,C,D,E,F,G,H,I1,J1,K,L,M,N,O,det,coefk

obr,dop:mas1;

i,j:integer;

coef:mas2;

X,Y:real;

a11,a21,a12,a22,a32,a13,a23,c3:real;

coefdet1,coefdet2,coefdet3:real;

Begin

{writeln('Введите X');

for i:=1 to 25 do read (A[i]);

A1:=0;

for i:=1 to 25 do A1:=A1+A[i];

writeln('Введите Y');

for i:=1 to 25 do read (A[i]);

A1:=0;

for i:=1 to 25 do A1:=A1+A[i];

writeln('Введите Y');

for i:=1 to 25 do read (B[i]);

B1:=0;

for i:=1 to 25 do B1:=B1+B[i];}

A[1]:=0.21; A[2]:=1.19; A[3]:=2.43; A[4]:=3.12; A[5]:=4.54; A[6]:=4.98;

A[7]:=5.49; A[8]:=6.07; A[9]:=6.81; A[10]:=7.21; A[11]:=7.96; A[12]:=8.32;

A[13]:=9.43; A[14]:=10.21; A[15]:=11.54; A[16]:=13.33; A[17]:=13.21;

A[18]:=14.72; A[19]:=15.53; A[20]:=16.23; A[21]:=17.32; A[22]:=18.43;

A[23]:=19.38; A[24]:=20.45; A[25]:=21.22; A1:=0;

for i:=1 to 25 do A1:=A1+A[i];

B[1]:=1.62; B[2]:=8.65; B[3]:=16.76; B[4]:=24.45; B[5]:=32.87; B[6]:=40.09

B[7]:=43.56; B[8]:=48.45; B[9]:=52.21; B[10]:=57.34; B[11]:=63.31;

B[12]:=67.45; B[13]:=72.87; B[14]:=81.34; B[15]:=89.45; B[16]:=97.77;

B[17]:=105.34; B[18]:=112.56; B[19]:=121.89; B[20]:=108.54; B[21]:=126.45;

B[22]:=144.34; B[23]:=160.45; B[24]:=161.34; B[25]:=170.59; B1:=0;

for i:=1 to 25 do B1:=B1+B[i];{значения x и y и их суммы}

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

C:=0;

D:=0;

E:=0;

F:=0;

G:=0;

H:=0;

I1:=0;

{Нахождение соответствующих сумм: x^2,x*y,x^3,x^4,x^2*y,ln(y),x*ln(y)}

for i:=1 to 25 do

begin

C:=C+sqr(A[i]);

D:=D+A[i]*B[i];

E:=E+sqr(A[i])*A[i];

F:=F+sqr(sqr(A[i]));

G:=G+sqr(A[i])*B[i];

H:=H+ln(B[i]);

I1:=I1+A[i]*ln(B[i]);

end;

a21:=(25*D-A1*B1)/(25*C-sqr(A1));

a11:=(B1-a21*A1)/25;

writeln('Линейная аппроксимация');

writeln('a2 = ',a21:9:6,' ','a1 = ',a11:9:6);

obr[1,1]:=C*F-E*E;

obr[2,1]:=-(A1*F-C*E);

obr[3,1]:=A1*E-C*C;

obr[1,2]:=-(A1*F-E*C);

obr[2,2]:=25*F-C*C;

obr[3,2]:=-(25*E-A1*C);

obr[1,3]:=A1*E-C*C;

obr[2,3]:=-(25*E-A1*C);

obr[3,3]:=25*C-A1*A1;

det:=25*obr[1,1]+A1*obr[2,1]+C*obr[3,1];

for i:=1 to 3 do

for j:=1 to 3 do obr[i,j]:=obr[i,j]/det;

a12:=obr[1,1]*B1+obr[1,2]*D+obr[1,3]*G;

a22:=obr[2,1]*B1+obr[2,2]*D+obr[2,3]*G;

a32:=obr[3,1]*B1+obr[3,2]*D+obr[3,3]*G;a23:=0;

a23:=(I1*25-A1*H)/(C*25-sqr(A1));

c3:=(H-a23*A1)/25;

a13:=exp(c3);

writeln('Квадратичная аппроксимация');

writeln('a1 = ',a12:9:6,' ','a2 = ',a22:9:6,' ','a3 = ',a32:9:6,' ');

writeln('Экспоненциальная аппроксимация');

writeln('c = ',c3:9:6,' ','a2 = ',a23:9:6,' ','a1 = ',a13:9:6);

writeln;

X:=A1/25;

Y:=B1/25;

J1:=0;

K:=0;

L:=0;

M:=0;

N:=0;

O:=0;

{Нахождение сумм: (х-х ср.)*(у-у ср.),(х-х ср.)^2,(у-у ср.)^2}

for i:=1 to 25 do

begin

J1:=J1+(A[i]-X)*(B[i]-Y);

K:=K+sqr(A[i]-X);

L:=L+sqr(B[i]-Y);

M:=M+sqr(a11+a21*A[i]-B[i]);

N:=N+sqr(a12+a22*A[i]+a32*sqr(A[i])-B[i]);

O:=O+sqr(a13*exp(a23*A[i])-B[i]);

end;

coefkor:=J1/sqrt(K*L);

coefdet1:=1-M/L;

coefdet2:=1-N/L;

coefdet3:=1-O/L;

writeln('Коэффициент корреляции');

writeln(coefkor:9:8);

writeln('Коэффициент детерминированности (линейная аппроксимация)');

writeln(coefdet1:9:8);

writeln('Коэффициент детерминированности (квадратичная аппроксимация)');

writeln(coefdet2:9:8);

writeln('Коэффициент детерминированности (экспоненциальная аппроксимация)');

writeln(coefdet3:9:8);

writeln;

End.