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

Программа вычисления коэффициентов эмпирических формул в qbasic

REM Ввод данных

Cls

Dim z(2,25)

Data 0.06,0.072,0.087,0.103,0.12,0.139,0.164,0.184,0.202,0.225,0.25,0.264,0.275,0.29,0.312,

0.334,0.353,0.375,0.386,0.402,0.421,0.443,0.462,0.48,0.5

Data 0.092,0.086,0.081,0.076.0.085,0.93,0.105,0.127,0.154,0.179,0.202,0.225,0.238,0.254,

0.297,0.326,0.364,0.402,0.427,0.458,0.497,0.535,0.574,0.605,0.658

REM Присваиваем значения X и Y

For x=1 To 2

For y=1 To 25: Read z(x,y): Next y: Next x

REM Вычисление сумм

For y=1 To 25

Sx=Sx+z(1,y): Sx2=Sx2+z(1,y)^2: Sx3=Sx3+z(1,y)^3

Sx4=Sx4+z(1,y)^4: Sy=Sy+z(2,y): Sxy=Sxy+z(1,y)*z(2,y)

Sx2y=Sx2y+(z(1,y)^2)*z(2,y): Sly=Sly+Log(z(2,y))

Sxly=Sxly+z(1,y)*Log(z(2,y))

Next y

REM Вычисление коэффициентов уравнений

i=25*Sx2-Sx*Sx: i1=(Sy*Sx2-Sxy*Sx)/i: i2=(Sxy*25-Sx*Sy)/i

j=25*Sx2*Sx4+Sx*Sx3*Sx2*2-Sx2^3-Sx4*Sx^2-25*Sx3^2

j1=(Sx*Sx3*Sx2y+Sx2*Sx3*Sxy+Sy*Sx2*Sx4-Sy*Sx3^2-

-Sx2y*Sx2^2-Sx*Sx4*Sxy)/j

j2=-(25*Sx3*Sx2y+Sxy*Sx2^2+Sx*Sx4*Sy-Sx2*Sx3*Sy-

-Sx*Sx2*Sx2y-25*Sx4*Sxy)/j

j3=(25*Sx2*Sx2y+Sx*Sx2*Sxy+Sx*Sx3*Sy-Sy*Sx2^2-Sx2y*Sx^2-

-25*Sx3*Sxy)/j

k1=(Sly*Sx2-Sxly*Sx)/i: k2=(25*Sxly-Sly*Sx)/i

REM Вычисление коэффициентов корреляции и детерминированности

For y=1 To 25

r1=r1+(z(1,y)-Sx/25)^2: r2=r2+(z(2,y)-Sy/25)^2

r=r+(z(1,y)-Sx/25)*(z(2,y)-Sy/25)

zt1(1,y)=i1+i2*z(1,y)

zt2(1,y)=j1+j2*z(1,y)+j3*(z(1,y))^2

zt3(1,y)=k1*(z(1,y))^k2

Sost1=Sost1+(zt1(1,y)-z(1,y))^2

Sost2= Sost2+(zt2(1,y)-z(1,y))^2

Sost3= Sost3+(zt3(1,y)-z(1,y))^2

Sreq1=Sreq1+(zt1(1,y)-Sey/25)^2

Sreq2=Sreq2+(zt2(1,y)-Sey/25)^2

Sreq3=Sreq3+(zt3(1,y)-Sey/25)^2

Spoln1=Sreq1+Sost1

Spoln2=Sreq2+Sost2

Spoln3=Sreq3+Sost3

R2(1)=1- Sost1/ Spoln1

R2(2)=1- Sost2/ Spoln2

R2(3)=1- Sost3/ Spoln3

Next y

REM Вывод ответов на экран

Print " i1 i2 j1 j2 j3 k1 k2"

Print Using "#.####; ";i1;i2;j1;j2;j3;Exp(k1);k2: Print

Print " R2(1) = "; Using "#.###"

Print " R2(2) = "; Using "#.###"

Print " R2(3) = "; Using "#.###"

Print "Коэффициент корреляции r ="; Using "#.####"; r/Sqr(r1*r2)

End

Ответы на экране

i1 i2 j1 j2 j3 k1 k2

-0.0816; 1.3294; 0.0673; -0.0912; 2.5818; 1.1266; 1,1102

R2(1) = 0.947

R2(2) = 0.998

R2(3)= 0.882

Коэффициент корреляции r =0.9732

Вычисление коэффициентов выбранных эмпирических функций в excel

1.Алгоритм вычисления и расчетные формулы

Построение эмпирических формул состоит из двух этапов: выяснение общего вида этой формулы и определение ее наилучших параметров.

В случае линейной зависимости Y=а12Х , где а1 и а2 – коэффициенты, которые необходимо найти для получения аппроксимирующей прямой, при помощи метода наименьших квадратов можно составить систему уравнений:

где n=25, а1 и а2 – неизвестные, а суммы Хi и Yi дают конкретные значения коэффициентов и свободных членов в сист линейных уравнений.

Эта линейная система может быть решена любым известным методом (Гаусса, методом интеграции, по формулам Крамара и т.д.).

В случае квадратичной зависимости Y=a1+a2X+a3X2 примет вид:

,

,

где n=25, a1, а2 и а3 – неизвестные коэффициенты.

Решая эту систему, мы находим неизвестные коэффициенты и получаем аппроксимирующую кривую.

В случае когда в качестве эмпирической зависимости мы берем функцию в которой неопределенные коэффициенты входят не линейно, функцию необходимо линеаризировать. К числу таких функций относится: Y=a1Xa2

Где а1 и а2 – коэффициенты которые необходимо численно определить.

Линеаризация достигается путем логарифмирования уравнения, в результате чего получим:

Ln Y=ln a1 + a2ln X, обозначая ln Y =z, ln a1=C, ln X=t, тогда зависимость может быть записана в виде z=C+a2t. Для этой зависимости составляем систему:

где n=25 и С=Ln а1

а1b, тогда вычислив а1 и а2 мы получим аппроксимирующую кривую.

2.Аппроксимация функции Kпр=F(Jрi) многочленом первой степени Kпр=а1+а2Jрi

Cоставим уравнение аппроксимированной прямой:

Чтобы составить уравнение аппроксимированной прямой необходимо найти коэффициенты А1 и А2. Для этого нужно составить и решить систему линейных уравнений:

, где n=25

Найдем значение сумм чтобы составить эту систему:

Таблица 3

Jрi

Kпрi

Jрi^2

JрiKпрi

0,06

0,092

0,003

0,005

0,072

0,086

0,005

0,006

0,087

0,081

0,007

0,007

0,103

0,076

0,010

0,007

0,12

0,085

0,014

0,010

0,139

0,093

0,019

0,012

0,164

0,105

0,026

0,017

0,184

0,127

0,033

0,023

0,202

0,154

0,040

0,031

0,225

0,179

0,050

0,040

0,25

0,202

0,062

0,050

0,264

0,225

0,069

0,059

0,275

0,238

0,075

0,065

0,29

0,254

0,084

0,073

0,312

0,297

0,097

0,092

0,334

0,326

0,111

0,108

0,353

0,364

0,124

0,128

0,375

0,402

0,140

0,150

0,386

0,427

0,148

0,164

0,402

0,458

0,161

0,184

0,421

0,497

0,177

0,209

0,443

0,535

0,196

0,237

0,462

0,574

0,213

0,265

0,48

0,605

0,230

0,290

0,5

0,656

0,25

0,328

 Jрi

 Kпрi

Jрi 2

( JрiKпрi)

6,903

7,138

2,356

2,570

C

B

25

6,903

7,138

6,903

2,356

2,570

C-1

A

0,209

-0,612

-0,081

-0,612

2,218

1,329

Составим систему и решим ее с помощью матриц по формуле А=C-1*В:

В матрице А вычислили коэффициенты А1=-0,081 и А2=1,329 . Подставим эти коэффициенты в многочлен первой степени и получим формулу аппроксимированной прямой K=-0,081+1,329*Ji.

3.Аппроксимация функции Kпрi=F(Jpi) многочленом второй степени Kпрi=A1+A2*Jрi3*J2

Cоставим уравнение аппроксимированной линии:

Чтобы составить уравнение аппроксимированной линии необходимо найти коэффициенты А1, А2 и А3. Для этого нужно составить и решить систему линейных уравнений:

,

,

где n=25

Найдем значение суммы чтобы составить эту систему:

Таблица 4

Jрi

Kпрi

Jрi^2

Jрi^3

Jрi^4

JрiKпрi

Jрi^2Kпрi

0,060

0,092

0,003

0,0002

0,00001

0,005

0,0003

0,072

0,086

0,005

0,0003

0,00002

0,006

0,0004

0,087

0,081

0,007

0,0006

0,00005

0,007

0,0006

0,103

0,076

0,010

0,0010

0,0001

0,007

0,0008

0,120

0,085

0,014

0,001

0,0002

0,010

0,001

0,139

0,093

0,019

0,002

0,0003

0,012

0,001

0,164

0,105

0,026

0,004

0,0007

0,017

0,002

0,184

0,127

0,033

0,006

0,001

0,023

0,004

0,202

0,154

0,040

0,008

0,001

0,031

0,006

0,225

0,179

0,050

0,011

0,002

0,040

0,009

0,250

0,202

0,062

0,015

0,003

0,050

0,012

0,264

0,225

0,069

0,018

0,004

0,059

0,015

0,275

0,238

0,075

0,020

0,005

0,065

0,017

0,290

0,254

0,084

0,024

0,007

0,073

0,021

0,312

0,297

0,097

0,030

0,0094

0,092

0,028

0,334

0,326

0,111

0,037

0,012

0,108

0,036

0,353

0,364

0,124

0,043

0,015

0,128

0,045

0,375

0,402

0,140

0,052

0,019

0,150

0,056

0,386

0,427

0,149

0,057

0,022

0,164

0,063

0,402

0,458

0,161

0,064

0,026

0,184

0,074

0,421

0,497

0,177

0,074

0,031

0,209

0,088

0,443

0,535

0,196

0,086

0,038

0,237

0,104

0,462

0,574

0,213

0,098

0,045

0,265

0,122

0,480

0,605

0,230

0,110

0,053

0,290

0,139

0,500

0,656

0,250

0,125

0,062

0,328

0,164

 Jрi

 Kпрi

 Jрi 2

 Jрi 3

 Jрi 4

( Jрi Kпрi)

( Jрi 2 Kпрi)

6,903

7,138

2,356

0,898

0,365

2,570

1,019

Составим систему и решим ее с помощью матриц по формуле А=C-1*В:

C

B

25

6,903

2,356

7,138

6,903

2,356

0,898

2,570

2,356

0,898

0,365

1,019

C-1

A

0,731

-5,593

9,052

0,067

-5,593

49,750

-86,382

-0,091

9,052

-86,382

156,985

2,581

В матрице А вычистились коэффициенты А1=0,067 А2=-0,091 и А3=2,581. Подставим эти коэффициенты в многочлен второй степени и получим формулу аппроксимированной прямой K=0,067-0,091*Ji+2,581*Ji2.

4. Аппроксимация функции Kпрi=F(Jрi) степенной

зависимостью Kпрi=A1* JiА2

Составим уравнение аппроксимированной линии:

Чтобы составить уравнение аппроксимированной линии необходимо найти коэффициенты А1 и А2. Для этого нужно составить и решить систему линейных уравнений Ln K=ln a1 + a2ln J, обозначая ln K =z, ln a1=C, lnJ=t, тогда зависимость может быть записана в виде z=C+a2t. Для этой зависимости составляем систему:

где n=25 и С=LnA1

Найдем значение сумм чтобы составить эту систему:

Таблица 5

Jрi

Kпрi

Z

t

t^2

zt

0,06

0,092

-2,386

-2,813

7,915

6,713

0,072

0,086

-2,453

-2,631

6,923

6,455

0,087

0,081

-2,513

-2,442

5,963

6,137

0,103

0,076

-2,577

-2,273

5,167

5,858

0,12

0,085

-2,465

-2,120

4,496

5,227

0,139

0,093

-2,375

-1,973

3,894

4,687

0,164

0,105

-2,254

-1,808

3,268

4,075

0,184

0,127

-2,064

-1,693

2,866

3,493

0,202

0,154

-1,871

-1,599

2,558

2,992

0,25

0,202

-1,599

-1,386

1,922

2,217

0,264

0,225

-1,492

-1,332

1,774

1,987

0,275

0,238

-1,435

-1,291

1,667

1,853

0,29

0,254

-1,370

-1,238

1,532

1,696

0,312

0,297

-1,214

-1,165

1,357

1,414

0,334

0,326

-1,121

-1,097

1,203

1,229

0,353

0,364

-1,011

-1,041

1,084

1,052

0,375

0,402

-0,911

-0,981

0,962

0,894

0,386

0,427

-0,851

-0,952

0,906

0,810

0,402

0,458

-0,781

-0,911

0,830

0,712

0,421

0,497

-0,699

-0,865

0,748

0,605

0,443

0,535

-0,625

-0,814

0,663

0,509

0,462

0,574

-0,555

-0,772

0,596

0,429

0,48

0,605

-0,503

-0,734

0,539

0,369

0,5

0,656

-0,422

-0,693

0,480

0,292

 Jрi

 Kпрi

Z

t

t^2

zt

6,903

7,138

-37,268

-36,117

61,537

64,271

Составим систему и решим ее с помощью матриц по формуле А=C-1*В:

C

B

25,00

-36,12

-37,27

-36,12

61,54

64,27

C-1

A

0,26

0,15

0,12

0,15

0,11

1,11

В матрице А вычислялись коэффициенты С=0,12 и А2=1,11, коэффициент А1=EXP(C).

A1

1,126

Подставим эти коэффициенты в многочлен второй степени и получим формулу аппроксимированной прямой K=1,126*J1,11.