Şəkil 6.1. interp1() funksiyasının köməyilə məsələnin qrafiki həlli
Mövzuya aid tapşırıqların variantları
Aşağıdakı cədvəldə verilmiş asılılığın interpolyasiya çoxhədlisini tapmalı.
1
|
Xi
|
1,2
|
1,5
|
2,3
|
2,8
|
3,6
|
|
Yi
|
0,28609
|
0,32759
|
0,38025
|
0,43903
|
0,47588
|
2
|
Xi
|
1,7
|
2,4
|
3,1
|
3,8
|
4,6
|
|
Yi
|
0,18636
|
0,23254
|
0,34021
|
0,37233
|
0,43087
|
3
|
Xi
|
1,1
|
2,3
|
2,9
|
3,8
|
4,7
|
|
Yi
|
0,11906
|
0,21925
|
0,32802
|
0,37033
|
0,42808
|
4
|
Xi
|
2,3
|
2,7
|
3,4
|
4,1
|
4,5
|
|
Yi
|
0,29654
|
0,31279
|
0,38302
|
0,43038
|
0,49867
|
5
|
Xi
|
1,7
|
2,6
|
3,4
|
3,9
|
4,9
|
|
Yi
|
0,17647
|
0,23273
|
0,33102
|
0,39393
|
0,43582
|
6
|
Xi
|
2,3
|
3,2
|
4,4
|
5,2
|
5,6
|
|
Yi
|
0,20926
|
0,32728
|
0,38023
|
0,46313
|
0,53083
|
7
|
Xi
|
2,6
|
3,3
|
4,4
|
4,9
|
5,8
|
|
Yi
|
0,28696
|
0,34929
|
0,41805
|
0,47303
|
0,58043
|
8
|
Xi
|
1,9
|
2,5
|
3,4
|
4,5
|
5,3
|
|
Yi
|
0,16096
|
0,28759
|
0,34902
|
0,44103
|
0,55803
|
9
|
Xi
|
1,7
|
2,5
|
3,6
|
4,7
|
5,5
|
|
Yi
|
0,17236
|
0,27539
|
0,38075
|
0,43923
|
0,52167
|
10
|
Xi
|
2,3
|
2,8
|
3,7
|
4,8
|
5,9
|
|
Yi
|
0,23023
|
0,28904
|
0,36180
|
0,48334
|
0,53012
|
11
|
Xi
|
3,2
|
4,5
|
2,3
|
1,8
|
5,3
|
|
Yi
|
0,38605
|
0,62757
|
0,78025
|
0,63903
|
0,37587
|
12
|
Xi
|
2,2
|
4,5
|
3,3
|
3,8
|
4,6
|
|
Yi
|
0,48608
|
0,26759
|
0,48065
|
0,53092
|
0,77589
|
13
|
Xi
|
2,7
|
6,4
|
5,1
|
4,8
|
5,6
|
|
Yi
|
0,28634
|
0,32546
|
0,40214
|
0,72335
|
0,30878
|
14
|
Xi
|
3,1
|
2,2
|
1,9
|
4,8
|
3,7
|
|
Yi
|
0,21906
|
0,41925
|
0,52802
|
0,37033
|
0,32808
|
15
|
Xi
|
3,3
|
2,8
|
2,4
|
3,2
|
3,5
|
|
Yi
|
0,23965
|
0,41279
|
0,28352
|
0,53039
|
0,69767
|
16
|
Xi
|
2,3
|
2,8
|
3,7
|
4,8
|
5,9
|
|
Yi
|
0,23023
|
0,28904
|
0,36180
|
0,48334
|
0,53012
|
17
|
Xi
|
1,2
|
1,5
|
2,3
|
2,8
|
3,6
|
|
Yi
|
0,28609
|
0,32759
|
0,38025
|
0,43903
|
0,47588
|
18
|
Xi
|
1,7
|
2,4
|
3,1
|
3,8
|
4,6
|
|
Yi
|
0,18636
|
0,23254
|
0,34021
|
0,37233
|
0,43087
|
19
|
Xi
|
1,1
|
2,3
|
2,9
|
3,8
|
4,7
|
|
Yi
|
0,11906
|
0,21925
|
0,32802
|
0,37033
|
0,42808
|
20
|
Xi
|
2,3
|
2,7
|
3,4
|
4,1
|
4,5
|
|
Yi
|
0,29654
|
0,31279
|
0,38302
|
0,43038
|
0,49867
|
7. Ən kiçik kvadratlar metodu
Hesablama riyaziyyatının ən geniş yayılmış məsələlərindən biri verilənlərin statistik emalıdır. Çox vaxt qiymətləri eksperimentlər nəticəsində alınmış və cədvəl şəklində verilmiş bir kəmiyyətin digər bir kəmiyyətdən asılılıq düsturunu tərtib etmək lazım gəlir.
Bu zaman əsas məsələ kəmiyyətlər arasındakı funksional asılılığı ən yaxşı şəkildə ifadə edən müəyyən bir funksiyanın tapılmasıdır. Bu məsələnin qoyuluşunun interpolyasiya məsələsindən əsas fərqli cəhəti axtarılan funksiyanın qeyd olunmuş nöqtələrdə (düyün nöqtələrində) qiymətlərilə cədvəl qiymətlərinin üst-üstə düşməsi tələb olunmamasıdır.
Məsələnin bu cür qoyuluşu daha təbiidir, belə ki, ölçmələrin nəticələri dəqiq olmaya da bilər, bundan başqa qeyd olunmuş nöqtələr (düyün nöqtələri) bir qayda olaraq digərlərindən heç nə ilə fərqlənmir və məlum deyil ki, nəyə görə məhz həmin nöqtələr verilənlərlə üst-üstə düşməlidir.
Funksiyalardan hansının asılılığı daha yaxşı ifadə etdiyini müqayisə etmək üçün verilmiş asılılığı ifadə edən axtarılan funksiyanın yaxınlaşma dərəcəsinin ölçülməsinə baxmaq lazımdır. Yaxınlaşma dərəcəsi kimi aşağıdakılardan birini götürmək olar:
Axtarılan funksiyanın qiymətlərinin verilənlərin düyün nöqtələrində qiymətlərindən meylinin modulunun maksimumunu.
Axtarılan funksiyanın düyün nöqtələrində qiymətlərinin verilənlərin qiymətlərindən meylinin modulları cəmini.
Axtarılan funksiyanın düyün nöqtələrində qiymətlərinin verilənlərin qiymətlərindən meylinin kvadratları cəmini.
Bunlardan üçüncü praktikada daha çox istifadə edilir. Çünki hesablamaların aparılması və xüsusən verilənlərin emalının avtomatlaşdırılması daha sadədir.
Məsələnin qoyuluşu
Fərz edək ki, x və y təsadüfi kəmiyyətlərinin təcrübədən alınmış qiymətləri aşağıdakı cədvəl şəklində verilimişdir.
x və y kəmiyyətləri arasındakı funksional asılılığı müəyyən etmək lazımdır. Bunun üçün aşağıdakı funksiyalardan birini götürmək olar.
1.Y=ax+b
2.Y=ax2+bx+c
3.Y=axn
4.
5.Y=1/(ax+b)
6.Y=a ln(x)+b
7.Y=a/x+b
8.Y=x/(ax+b).
Bu asılılıqlardan bəzilərinin tətbiqi ilə tanış olaq.
I. Verilmiş məsələnin həll etmək üçün funksional münasibəti y=ax+b xətti tənliyi şəklində axtaraq. Bu halda əsas məqsəd a və b əmsallarını elə təyin etmək lazımdır ki,
(7.1)
kəmiyyəti ən kiçik qiymət alsın. Əmsalların F(a,b) funksiyasının minimallaşdırılması ilə tapılması üsulu ən kiçik kvadratlar metodu adlanır. Bu metod böyük meyillərin azaldılmasına səbəb olur.
F(a,b) funksiyası mənfi olmayan və a və b kəmiyyətlərinə nəzərən iki tərtibli çoxhədlidir, ona görə də həmişə həlli vardır. Bundan başqa əgər düyün nöqtələri birdən çoxdursa və müxtəlifdirsə, onda o, yeganədir.
Məlumdur ki, bir neçə dəyişəndən asılı hamar funksiyaların ekstremumlarını tapmaq üçün onların böhran nöqtələrini, yəni bütün xüsusi törəmələrinin sıfıra bərabər olduğu nöqtələri tapmaq lazımdır. Bunun üçün
tənliklərini həll edək.
(7.2)
Bu sistem a və b dəyişənlərindən ibarət iki dəyişənli xətti tənlikdir və onu aşağıdakı şəkildə yazaq:
(7.3)
Bu sistem isə sdandart şəkildə həll olunur.
Nümunə1. Turboreaktiv mühərrikin dartması P(kq) və onun dövrlərinin dəqiqədəki sayı (n dövr/dəq) arasındakı funksional asılılığı təyin etmək üçün eksperiment aparılmış və aşağıdakı nəticələr alınmışdır:
P (kq)
|
3
|
12
|
27
|
48
|
75
|
n(dövr/dəq)
|
1
|
2
|
3
|
4
|
5
|
Bu kəmiyyətlər arasındakı funksional asılılığı qurmalı.
Bunun üçün əvvəlcə aşağıdakı cədvəli quraq:
|
X
|
Y
|
X2
|
XY
|
|
3
|
1
|
9
|
3
|
|
12
|
2
|
144
|
24
|
|
27
|
3
|
729
|
81
|
|
48
|
4
|
2304
|
192
|
|
75
|
5
|
5625
|
375
|
Cəm
|
165
|
15
|
8811
|
675
|
Buradan isə aşağıdakı sistemi alırıq.
Bu tənliklər sistemini həll edərək a və b əmsallarını tapırıq:
a=0,05; b=1,87
Beləliklə, ən yaxşı xətti funksiya y=0,05x+1,87 şəklində olur.
Bu tip məsələlərin C++ proqramlaşdırma dilində həllinin proqram kodu aşağıdakı kimi olar.
#include
#include
using namespace std;
main()
{
const int n=5;
float X[n],Y[n], cemX=0,cemY=0,cemX2=0,cemY2=0,
cemXY= 0,X2[n],Y2[n],XY[n],a,b;
float X, Y, X2, Y2, XY;
cout<<"X massivini daxil edin:";
for(int i=0;i{
cin>>X[i]; //X massivinin daxil edilmesi
}
cout<<"Y massivini daxil edin:";
for(int i=0;i{
cin>>Y[i]; //Y massivinin daxil edilmesi
}
for(int i=0;i{
cemX+=X[i]; //X massivinin elementlerinin cemlenmesi
X2[i]=X[i]*X[i]; //X massivinin elmentlerinin kvadratlarinin tapilmasi
cemY+=Y[i]; //Y massivinin elementlerinin cemlenmesi
Y2[i]=Y[i]*Y[i]; //Y massivinin elmentlerinin kvadratlarinin tapilmasi
cemX2+=X2[i]; //X2 massivinin elementlerinin cemlenmesi
cemY2+=Y2[i]; //Y2 massivinin elementlerinin cemlenmesi
XY[i]=X[i]*Y[i]; //XY massivinin elementlerinin tapilmasi
cemXY+=XY[i]; //XY massivinin elementlerinin cemlenmesi
}
cout<cout<<"cemx="<cout<<"cemy="<cout<<"cemx2="<cout<<"cemy2="<cout<<"cemxy="<X=cemX/n; //X massivinin qiymetinin tapilmasi
Y=cemY/n; //Y massivinin qiymetinin tapilmasi
X2=cemX2/n; //X2 massivinin qiymetinin tapilmasi
Y2=cemY2/n; //Y2 massivinin qiymetinin tapilmasi
XY=cemXY/n; //XY massivinin qiymetinin tapilmasi
cout<cout<cout<a=(XY-X*Y)/(X2-X*X);
b=ortaY-a;
cout<cout<<"a="<cout<<"b="<cout<cout<<"y="<cout<system("pause");
return 0;
}
II. Verilmiş məsələni həll etmək üçün funksional münasibəti xətti şəkildə deyil, şəklində axtaraq. Bu halda əsas məqsəd a, b və c əmsallarını elə təyin etmək lazımdır ki,
kəmiyyəti ən kiçik olsun.
Buradan aşağıdakı tənliklər sistemini alarıq:
(7.4)
Bu tənliklər sistemini isə aşağıdakı şəkildə yazaq:
(7.5)
Onda bu tənliklər sisteminin tapılmış a,b,c həlləri (7.4) üçhədlisinin əmsalları olacaqdır.
Bir nümunəyə baxaq.
Nümunə2. Eksperiment nəticəsində arqumentin müxtəlif qiymətlərində funksiyanın qiymətləri alınmışdır.
х
|
0,1
|
0,2
|
0,3
|
0,4
|
0,5
|
0,6
|
0,7
|
0,8
|
0,9
|
1,0
|
у
|
2,130
|
2,153
|
2,161
|
2,151
|
2,128
|
2,080
|
2,026
|
1,859
|
1,875
|
1,772
|
Y kəmiyyətinin x-dən asılılığının analitik ifadəsini tapaq.
Bunun üçün (7.5) sistemini həll edək. Göründüyü kimi bu sistemi həll etmək üçün
cəmlərini hesablamaq lazımdır.
n
|
xi
|
yi
|
|
|
|
|
|
|
|
1
|
0,1
|
2,13
|
0,0001
|
0,001
|
0,01
|
0,0213
|
0,213
|
2,1322
|
0,0022
|
2
|
0,2
|
2,153
|
0,0016
|
0,008
|
0,04
|
0,08612
|
0,430
|
2,1535
|
0,0001
|
3
|
0,3
|
2,161
|
0,0081
|
0,027
|
0,09
|
0,19449
|
0,648
|
2,1596
|
0,0014
|
4
|
0,4
|
2,151
|
0,0256
|
0,064
|
0,16
|
0,34416
|
0,860
|
2,1504
|
0,0006
|
5
|
0,5
|
2,128
|
0,0625
|
0,125
|
0,25
|
0,532
|
1,064
|
2,1258
|
0,0021
|
6
|
0,6
|
2,08
|
0,1296
|
0,216
|
0,36
|
0,7488
|
1,248
|
2,0860
|
0,006
|
7
|
0,7
|
2,026
|
0,2401
|
0,343
|
0,49
|
0,99274
|
1,418
|
2,0308
|
0,0049
|
8
|
0,8
|
1,859
|
0,4096
|
0,512
|
0,64
|
1,18976
|
1,487
|
1,9604
|
0,1014
|
9
|
0,9
|
1,875
|
0,6561
|
0,729
|
0,81
|
1,51875
|
1,687
|
1,8746
|
0,0003
|
10
|
1,0
|
1,772
|
1,0000
|
1,000
|
1,00
|
1,772
|
1,772
|
1,7736
|
0,0016
|
Cəm
|
5,5
|
20,335
|
2,5333
|
3,025
|
3,85
|
7,40012
|
10,83
|
20,445
|
0,1206
|
Bu tənliklər sistemini həll etsək, c=2,0952, b=0,4423, a=-0,7652 alarıq. Onda parabolanın tənliyini Y=-0,7652x2 +0,4433x+2,09552 şəklində alarıq.
Eksperimental verilənlərlə alınmış funksiyanın qrafikini müqayisə edək.
III. Verilmiş məsələnin həll etmək üçün funksional münasibəti üstlü funksiyası şəklində axtaraq.
Bu funksiyanı loqarifmləyək:
.
Burada ; və əvəzləmələrini qəbul etsək şəklində xətti funksiya alarıq.
IV.Tutaq ki, axtarılan funksiya y=1/(ax+b) şəklindədir.
Bu halda t =1/y əvəzləməsi aparsaq funksiyanı aşağıdakı kimi axtarmaq lazımdır:
İlkin cədvəldə y dəyişənini t ilə, aşağıdakı bütün ədədləri isə tərsləri əvəz edirik.
Alınmış cədvəl üçün xətti asılılığı tapırıq.
a və b-nin alınmış qiymətlərini dəyişmədən götürürük.
V. Tutaq ki, xətti asılılıq y=alnx+b funksiyası şəklində axtarılır. Verilmiş məsələni xətti məsələyə gətirmək üçün u=lnx əvəzləməsi aparmaq və aşağıdakı addımları yerinə yetirmək lazımdır:
İlkin cədvəldə x-i u ilə, yuxarı sətirdə yazılmış ədədləri onların loqarifmləri ilə əvəz edirik.
Alınmış cədvəl üçün xətti asılılığı tapırıq.
a və b-nin alınmış qiymətlərini dəyişmədən götürürük.
VI. Tutaq ki, xətti asılılıq y=ахn şəklində axtarılır. Bu halda əvəzetməni ln(y)=ln(a)+n*ln(x) şəklində, həlli isə aşağıdakı kimi axtarmaq olar:
İlkin cədvəldə x-i u=lnx ilə, y dəyişənini t=lny ilə, cədvəldə yazılmış bütün ədədləri isə onların loqarifmi ilə əvəz etməli.
Alınmış cədvəl üçün xətti asılılığı tapmalı.
a və b-nin alınmış qiymətlərindən lazım olan ədədləri tapmaq üçün n=а, a=eb əvəzləmələrindən istifadə etməli.
|