Сызықтық емес теңдеудің сандық шешімі
Жоспар:
Хордалар әдісі
Бағдарламаны Pascal тілінде орындау.
Хордалар әдісі
f x 0, f a 0, f b 0;
x0 a, xn1 xn b af xn /f b f a
lim xn , n 0,1, 2,...,
n
Мысал 1 Теңдеудің түбірін аналитикалық әдіспен тап және олардың біреуін 0,001 дәлдікке дейін есептеу. x 3 –0, 2 x 2 + 0,5x +1,5=0
Шешуі: 1) f(x) = x 3 –0, 2 x 2 + 0,5x +1,5 белгілейік
Теңдеудің түбірін Excel бағдарламасы арқылы табамыз:
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
R
|
L
|
1
|
x
|
-5
|
-4
|
-3
|
-2
|
-1
|
0
|
1
|
2
|
3
|
4
|
5
|
2
|
|
|
|
|
-
|
|
|
|
|
|
|
|
|
f(x)
|
-131
|
-67,7
|
-28,8
|
8,3
|
-0,2
|
1,5
|
2,8
|
9,7
|
28,2
|
64,3
|
124
|
В2 ұяшығында – функция мәнін есептеу формуласы: = В1^3-0,2*В1^2+0,5*В1+1,5
Кестеден көріп отырғанымыздай теңдеудің бір түбірі бар: х1 1;0,
Хорда әдісімен ε = 0,01 дәлдікте нақтылаймыз. Есептеудің барлығын Excel ортасында жүргіземіз.
Түбірді нақтылау үшін:
1.Бірінші және екінші ретті түбірді табамыз: f ΄(x) = 3x 2 – 0, 4 x + 0,5 , f΄΄(x) = 6 x – 0, 4;
2. Кестеден интервал ұштарындағы функциялардың таңбасын анықтайық. f(-1) = -0,2<0, f(0) =1,5>0
1;0, интервалдағы екінші ретті туындының таңбасын анықтайық, яғни f ΄΄(x) < 0
Сонымен, f(-1) ∙ f ΄΄(x )>0, -1 –интервалдың қозғалмайтын ұшы, ал 0– есептеудің бастапқы нүктесі ( екінші жағдай)
xn1 xn
|
f (xn )(a xn )
|
формуласын қолданайық, мұндағы а = -1,
|
ал f (а) = f (-1) = -0,2.
|
|
f (a) f (xn )
|
|
|
|
|
|
|
|
|
|
|
|
Сонымен,
|
xn1 xn
|
f (xn )(1
|
xn )
|
xn
|
f (xn )(1 xn )
|
dxn
|
f (xn )(1 xn )
|
|
деп белгілейік.
|
|
0,2 f
|
(xn )
|
0,2 f (xn )
|
0,2 f (xn )
|
|
|
|
|
|
|
|
|
|
Есептеудің барлығын Excel ортасында жүргіземіз:
|
A
|
B
|
C
|
D
|
E
|
F
|
1
|
n
|
xn
|
f(xn)
|
1+xn
|
0,2+f(xn)
|
dxn
|
2
|
0
|
0
|
1,5
|
1
|
1,7
|
0,882353
|
3
|
1
|
-0,88235
|
0,216161
|
0,117647
|
0,416161
|
0,061108
|
4
|
2
|
-0,94346
|
0,010454
|
0,056539
|
0,210454
|
0,002809
|
5
|
3
|
-0,94627
|
0,000466
|
0,053731
|
0,200466
|
0,000125
|
6
|
4
|
-0,94639
|
2,07E-05
|
0,053606
|
0,20001
|
5,55E-06
|
В2 ұяшығында есептеудің бастапқы нүктесі орналасқан.
С2 ұяшығында – функцияның мәнін есептеу формуласы: = В2^3-0,2*В2^2+0,5*В2+1,5;
D2 ұяшығында мына формула орналасады: = 1+B2;
Е2 ұяшығында: = 0,2 + С2;
F2 ұяшығында–dxnесептеу формуласы: = С2۰D2/E2.
В3 ұяшығында: = B2 – F2.
Есептеуді жалғастыру үшінC2 – F2 жолдарын курсормен ерекшелеп алып, 3 жолға дейін тарту керек. Содан 3 жолды ерекшелеп алып, В бағанында үтірден кейін 3 сан қайталанғанша жалғастыра береміз. Бұл мына шарт орындалады дегенді білдіреді: | xn+1 - xn |< 0.001, есептеу процесін тоқтатуға болады және жауап ретінде B6 ұяшығындағы мәнді көрсетуге болады.
Pascal тіліндегі бағдарламадан үзінді:
x:=x0;
y:=y0;
whileabs(y-x)<=edo
beginr:=x-f(x)/(f(y)-f(x))*(y-x);x:=x-r;
r:=f(y)/f1(y);y:=y-r;
end;
Дөрекі жуықтаудың дәлдігін анықтайтын сандық әдіс итерация әдісі. Итерация “бірте-бірте тізбектеп жуықтауды” білдіреді. Итерациялық үрдісті орындау үшін теңдеудің анықтауға қажетті бастапқы жуықтау х0 мен Е дәлдігі берілуі керек.
Мысал 2.x 3 – 2 x 2 + 7x +3 = 0теңдеудің түбірін аналитикалық әдіспен тап және олардың біреуін 0,001 дәлдікке дейін есептеу.
Шешуі: 1) f(x) = x 3 – 2 x 2 + 7x +3 белгілейік
Теңдеудің түбірін Excel бағдарламасы арқылы табамыз:
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
R
|
L
|
1
|
x
|
-5
|
-4
|
-3
|
-2
|
-1
|
0
|
1
|
2
|
3
|
4
|
5
|
2
|
f(x)
|
-207
|
-121
|
-63
|
-27
|
-7
|
3
|
9
|
17
|
33
|
63
|
113
|
В2 ұяшығында – функция мәнін есептеу формуласы: = В1^3-2*В1^2+7*В1+3 Кестеден көріп отырғанымыздай теңдеудің бір түбірі бар х1 1;0,
3)Итерация әдісімен ε = 0,01 дәлдікте нақтылаймыз.
Теңдеуді мына түрге келтіреміз х = φ(х) , | φ΄(х) | < 1 шарты орындалуы үшін, барлығы х1 1;0, Ол үшін:
Туындысын тауып аламыз: f ΄(x) = 3x 2 – 4 x + 7;
Туынды мәнін есептейміз: f ΄(-1) = 14, f ΄(0) =7
Үлкенін таңдаймыз max[a;b]|f ΄(x)| = 14, олай болса k =10 деп аламыз;
Функция мына түрде болады: φ(х) = х - f(x)/ k=
х - ( x3 – 2 x2 + 7x +3)/10 = х – 0,1x3 + 0,2 x2 – 0, 7x - 0,3
φ΄(х) = – 0,3x2 + 0,4 x+ 0,3;
| φ΄(-1) | =| – 0,3(-1) 2 + 0,4 (-1) + 0,3| = 0.4<1 | φ΄(0) | =| – 0,3(0) 2 + 0,4 (0) + 0,3| = 0.3<1
6.Есептеудің алғашқы нүктесі үшін интервалдың кез-келген нүктесін аламыз: [-1;0], түбірді нақтылау
үшін мына формуланы пайдаланамыз: хn+1 = φ(хn).
Есептеуді Excel ортасында жүргіземіз.
|
A
|
B
|
C
|
1
|
n
|
xn
|
φ(xn)
|
2
|
0
|
0
|
-0,3
|
3
|
1
|
-0,3
|
-0,3693
|
4
|
2
|
-0,3693
|
-0,37848
|
5
|
3
|
-0,37848
|
-0,37947
|
6
|
4
|
-0,37947
|
-0,37958
|
7
|
5
|
-0,37958
|
-0,37959
|
В2 ұяшығында есептеудің алғашқы нүктесі.
С2 ұяшығында – функцияның мәнін есептеу формуласы φ(хn).:
-0,1*В2^3+0,2*В2^2+0,3*В2-0,3
В3 ұяшығына С2 ұяшығын көшіреміз . Есептеуді жалғастыру үшінC2 ұяшығын ерекшелеп, төмен тартса жеткілікті. Ерекшелеп тартуды | xn+1 - xn |< 0.001 дәлдікке жеткенше жалғастыра еруге болады.
Pascal тіліндегі бағдарламадан үзінді:
x:=(a+b)/2;l:=2/(max+min);
q:=abs(max-min)/(max+min);e1:=e*(1-q)/q;
repeat
r:=l*f(x);x:=x-r;k:=k+1;
untilabs(r)<=e1;
Бақылау сұрақтары:
Хорда әдісінің бар болуы.
Итерация әдісінің бар болуы.
Итерациялық процестің жүру шарты
Бұл әдістердің қателіктерінің бағасын қай формулалармен анықтайды?
Әдебиеттер:
Вабищевич, П.Н. Численные методы: Вычислительный практикум / П.Н Вабищевич. –М.: Ленанд, 2016. -320 с;
Демидович, Б.П. численные методы анализа. Приблеженный функций, дифференциальные и интегральные уравнения / Б.П.Демидович, И.А. Марон, Э.З.Шувалова. – СПб.: Лань, 2010. -400с.
1>
Достарыңызбен бөлісу: |