1-misol. Tezkor tushish usili (gradiyent usuli) yordamida ushbu
x x2 2 yz 0,1;
y y2 3xz 0, 2;,
z z2 2xy 0,3.
tenglamalar sistemaning koordinata boshi atrofida yotgan ildizlarini taqribiy hisoblang.
Yechish Berilganlarga ko‘ra
|
|
9-rasm. Gradiyent usuli algoritmining
blok-sxemasi.
|
x x2 2 yz 0,1
1 2x
2z
2 y
0
f y y2 3xz 0, 2 ,
W 3z
1 2 y 3x ,
x0 0 .
z z2 2xy 0,3
2 y
2x 1 2z
0
va (42) formulalar bo‘yicha quyidagi birinchi yaqinlashishni olamiz:
f 0, f 0
0,1
0 1,
x1 x0 1 Ef 0 0, 2 .
f 0, f 0
0,3
Xuddi shunday
x 2
ikkinchi yaqinlashishni aniqlaymiz. Bu yerdan:
f 1 0,13
1, 2 0,6 0, 4
1
0,181
0,05 ,
0,05
W1 0,9 1, 4 0,3 ,
0, 4 0, 2 1,6
W1 f
0,002 .
0,147
WW f 1 0,181
0,13 0,2748 0,05 0,2098 0,05 0,1632
1 1 0,002 ,
0,147
0, 27482 0, 20982 0,16322
0,3719 .
x2
0,1 0,181 0,0327
0,37119 .
0, 2 0,002 0, 2007
0,3 0,147 0, 2453
Natijaning qanchalik to‘g‘ri va aniq ekanligini tekshirish uchun tafovut hisoblaniladi.
Nochiziqli tenglamalar sistemasini Maple dasturi yordamida taqribiy yechish
misol. Quyidagi
1
f x, y 2 x3 y2 1 0
3
f2 x, y xy y 4 0
nochiziqli tenglamalar sistemaning yechimini = 0,001 aniqlik bilan Nyuton usulida taqribiy hisoblang.
Yechish. Ushbu misolda berilgan tenglamalar sistemasi bitta musbat haqiqiy yechimga ega ekanligini quyidagi Maple dasturi plots paketining
implication funksiyasidan foydalanib
f1(x, y) 0 va
f2 (x, y) 0
funksiyalarning chizilgan grafiklaridan ko‘rish mumkin (10-rasm):
> plots[implicitplot]({2*x^3- y^2-1=0,x*y^3-y-4=0},x=- 2..2,y=-3..3);
Bu usulga ko‘ra dastlabki yaqinlashish x0 1,2; y0 1,7 kabi bo‘lsin. U holda
x , y 6x0 2 y0 yoki
2
0 0 y3 3x y2 1
0 0 0
1,2; 1,7 8,64 3,40 97,910 .
4,91 9,40
(12) formulaga ko‘ra
|
10-rasm. 1-misolda berilgan nochiziqli tenglamalar sistemasi ildizining boshlang‘ich yaqinlashishni grafik usul bilan Maple dasturi yordamida aniqlash.
|
x1 1,2
0,434
0,1956
8,64
3,40
9,40
0,434
1,2 0,0349 1,2349
y1 1,7
4,91
0,1956
1,7 0,0390 1,6610
Hisoblashlarni shu singari davom ettirib,
x2 1,2343
y2 1,6615
ni topamiz
va hisoblashlarni talab qilingan aniqlikkacha davom ettiramiz.
Berilgan tenglamalar sistemasining mavjud bitta haqiqiy yechimini Maple dasturi yordamida ham analitik usulda aniqlaylik:
> solve({2*x^3-y^2-1=0,x*y^3-y-4=0},{x,y}); allvalues(%); evalf(%);
{ x 1.234274484, y 1.661526467 }
Natijalardan ko‘rinadiki, topilgan
x2 1,2343
y2 1,6615
- taqribiy
yechimni yetarlicha aniqlikda topilgan deb hisoblash mumkin.
Endu bu masalani Maple tizimida sonli yechishni qaraymiz. Avvalo Yakob matritsasini linalg paketining jacobian funksiyasi yordamida hisoblaymiz, keyin esa uning teskarisini linalg paketining inverse funksiyasidan foydalanib hisoblaymiz. eval funksiyasi ifodaning son qiymatini beradi. evalm funksiyasi esa matritsa va vektorlar ustida amal bajarib, son natija beradi. Boshlang‘ich vektorni xx va eps aniqlik darajasi deb, Nyuton usuli bo‘yicha taqribiy hisoblashlarni bajaramiz:
> with(linalg):
F:=(x,y)->[2*x^3-y^2-1,x*y^3-y-4];
FP:=jacobian(F(x,y),[x,y]); FPINV:=inverse(FP);
xx:=[1.2,1.7]; eps:=0.0001; Err:=1000; v:=xx; v1:=[1e10,1e10]; j:=0:
for i while Err>eps do v1:=eval(v);
M:=eval(eval(FPINV),[x=v[1],y=v[2]]):
v:=evalm(v-M&*F(v[1],v[2])); Err:=max(abs(v1[1]-v[1]),abs(v1[2]-v[2])); j:=j+1;
end do;
Hisob natijasi quyidagicha:
F := ( x, y ) [ 2 x3 y2 1, x y3 y 4 ]
6 x2 2 y
FP :=
y3
3 x y2 1
3 x y2 1
y
2 ( 9 x3 y2 3 x2 y4 ) 9 x3 y2 3 x2 y4
FPINV := y3
3 x2
2 ( 9 x3 y2 3 x2 y4 )
xx := [ 1.2, 1.7 ]
eps := 0.0001
Err := 1000
v := [ 1.2, 1.7 ]
9 x3 y2 3 x2 y4
v1 := [ 0.1 10 11, 0.1 10 11 ]
v1 := [ 1.2, 1.7 ]
M := 0.09600350200 0.03470990077
-0.05015580660 0.08820398313
v := [ 1.234876263 , 1.660979681 ]
Err := 0.039020319
j := 1
v1 := [ 1.234876263 , 1.660979681 ]
M := 0.09258867450 0.03335772210
-0.04601453420 0.09187560387
v := [ 1.234274675 , 1.661526276 ]
Err := 0.000601588
j := 2
v1 := [ 1.234274675 , 1.661526276 ]
M := 0.09264916080 0.03338417877
-0.04608134315 0.09182868696
v := [ 1.234274484 , 1.661526467 ]
Err := 0.191 10 -6
j := 3
Natija shuni ko‘rsatadiki, hisob jarayonining 3-qadamida berilgan aniqlikdagi yechimga erishildi.
misol. Quyidagi nochiziqli tenglamalar sistemasining musbat yechimini = 0,001 aniqlik bilan Nyuton usulida taqribiy hisoblang:
1
f x, y 0,1x2 x 0,2 y2 0,3 0;
2
f2 x, y 0,2x y 0,1xy 0,7 0.
Yechish. Boshlang‘ich yaqinla- shishni tanlab olish uchun grafik usuldan, Maple dasturi plots paketining implication funksiyasidan foydalanib, (x,y) tekislikning bizni qiziqtiradigan sohasida f1(x, y) 0 va f2 (x, y) 0 egri chiziqlarning grafiklarini chizamiz (11- rasm):
> plots[implicitplot]({0.1*x^2+x+ 0.2*y^2-0.3=0,0.2*x^2+y-
0.1*x*y-0.7=0},x=-2..2,y=-2..2);
Bundan berilgan tenglamalar sistemasining biz izlayotgan musbat yechimi 0<x<0,5; 0<y<1,0 kvadrat ichida ekanligini ko‘ramiz.
|
11-rasm. 2-misolda berilgan tenglamalar sistemasi ildizining boshlang‘ich yaqinlashishini grafik usul bilan Maple dasturi yordamida aniqlash.
|
Boshlang‘ich yaqinlashishni
x0 0,25;
y0 0,75
deb qabul qilamiz. U
holda qaralayotgan misolimiz uchun quyidagilarni yozib olamiz:
f1x0 , y0 0,1x2 x0 0,2 y2 0,3 0;
0 0
0 0 0 0
f2 x0 , y0 0,2x2 y 0,1x y 0,7 0,
f1(x0 , y0 ) 0,2x
1;
f1 (x , y0 ) 0,4 y ;
x 0 y 0
f2 (x0 , y0 ) 0,4x
0,1y ;
f2 (x0 , y0 ) 1 0,1x .
x 0 0 y 0
Tanlangan
X0 (x0 , y0 )
larni (12) ning o‘ng tarafiga qo‘yib, dastlab
taqribiy
X1 (x1, y1 )
ni topamiz:
x 0,25 0,05391 0,19498;
1
y1 0,75
0,97969
0,04258
0,97969
0,70654,
o‘z navbatida esa
X 2 (x2 , y2 )
= (0,19646, 0,70615) ni va
X 3 (x3 , y3 ) =
(0,19641, 0,70615) ni topamiz va hokazo. Iteratsiya jarayonini (13) shart bajarilgunga qadar davom ettiramiz. Bu hisoblashlar berilgan sistemaning yechimi (x,y) = (0,1964; 0,7062) ekanligini ko‘rsatadi.
Bu topilgan yechimning qanchalik to‘g‘riligini Maple dasturi yordamida aniqlashtiramiz:
> solve({0.1*x^2+x+0.2*y^2-0.3=0,0.2*x^2+y-0.1*x*y-0.7=0},{x,y});
{ x .1964115055 , y .7061541848 } .
Endi Nyuton usuli bilan misolning taqribiy yechimini topamiz:
> with(linalg):
Do'stlaringiz bilan baham: |