si n os si n oss[x(s)+1]ds+
3.2.1. Phương pháp chia ñô
Ví dụ 3.2.1. Giải phương trình x3−1,5x2 +0,55x+0,57 0= bằng phương pháp chia ñôi, với sai số không vượt quá δ =0,1.
Program Giaividu3.2.1; Var a,b,c,w: real;
Function f(x: real): real;
Begin
:f = x x x* * −1.5* *x x+0.58*x+0.57; end;
Begin
Write (‘ nhap sai so w=’); readln (w);
Write (‘nhap a,b:’) readln (a,b);
Repeat
c: (= a b+ ) / 2;
if f a( ) * ( ) 0f c > then :a =c else b c=
Until (b a w− < );
Writeln ( ‘Vay nghiem xap xi cua phuong trinh la:’,c:2:5); Readln;
End. Ket qua:
Nhap sai so w=0.1
Nhap a,b: -1 0
Nghiem xap xi cua phuong trinh la:−0.43750000
Ví dụ 3.2.2. Giải phương trình : x−sin( ) 0,25 0x − = bằng phương pháp chia ñôi với sai số không vượt quá δ =0,01.
Program giai_vi_du_3.2.2.; Var a,b,c,w: real;
Function f x real real( : ) : ; Begin
f := −x sin( ) 0.25;x −
end ;
Begin
Write (‘nhap sai so w=’); readln(w);
Write (‘nhap a,b:’); readln(a,b);
Repeat
: (c = a b+ ) / 2;
if ( ) * ( ) 0f a f c > then :a =c else b c=
Until (b a w− < );
Writeln ( ‘Vay nghiem xap xi cua phuong trinh la:’,c:2:8); Readln;
End. Ket qua:
Nhap sai so w=0.01
Nhap a,b: 1 2
Nghiem xap xi cua phuong trinh la: 1.1640625
3.2.2. Phương pháp lặp ñơn
Ví dụ 3.2.3. Giải phương trình sau: x2 −ex +10 0= bằng phương pháp lặp ñơn với ñộ chính xác ε 10−4 = . Program Giai_vi_du 3.2.3.; Var 0, 1, w, , :x x e q real; i byte: ; x: array[1….10] of real;
Funciton g x real real( : ) : ; Begin
: ln(f = sqt x( ) 10);+ end;
Begin
write (‘nhap q=’);readln(q);
write (‘ nhap sai so w=’); readln(w);
write (‘ chon xap xi ban dau x0 ');= readln( 0);x
writeln(‘ cac xap xi tiep theo la:’); : 1; : 0i = e = Repeat Begin x1:=g x( 0); Writeln (' ', ,'x i[ ]=', 1: 2 :9);x e:=abs x( 1−x0); :i = +i 1; end; Until (e<w * / (1q −q));
Writeln (‘Vay nghiem xap xi cua phuong trinh la:’,x i[ ]: 2 : 9);
End.
Kết quả
Nhap q=0.316
Nhap sai so ban dau w 0.0001=
x[ ]1 =2.63095733 x[ ]2 =2.831130211 x[ ]3 =2.891221301 x[ ]4 =2.910128666 x[ ]5 =2.916085467 x[ ]6 =2.917962846 x[ ]7 =2.918554596 x[ ]8 =2.918741122
Vậy nghiệm xấp xỉ của phương trình là: 2.918741122
3.2.3. Phương pháp Newton
Ví dụ 3.2.4. Giải phương trình x5− − =x 1 0 bằng phương pháp Newton với ñộ chính xác 10−4
Program Giai_vi_du 3.2.4.; Uses crt;
Var x x0, 1,w, :e real i byte; : ;
x: array[1….10] of real;
Function ( :f x real real) : ; Begin
:f =x x x x x x* * * * − −1; end;
function Dhf x real real( : ) : ; begin
Dhf : 5* * * *= x x x x−1; end;
Begin
Write(‘nhap sai so w=’);readln(w);
Write(‘ chon xap xi ban dau x0=’); readln(x0); Writeln(‘cac xap xi tiep theo la:’);
i: 1; : 0;= e =
Repeat Begin
x1:=x0− f x( 0) /Dhf x( 0);
:e =abs x( 1−x0); x0 :=x i1; := +i 1;
end ; until (e<w);
writeln (‘Vay nghiem xap xi cua phuong trinh la:’,x i[ ]: 2 : 9); readln;
End.
Kết quả:
Nhap sai so w 0.0001= Chon xap xi ban dau x0 1.2=
Cac xap xi tiep theo la:
x[ ]1 1.169222886= x[ ]2 =1.16731102
x[ ]3 =1.16730398
Vậy nghiệm xấp xỉ của phương trình là: 1.16730398
Ví dụ 3.2.5. Giải phương trình x2−ex − =2 0 bằng phương pháp Newton.
Program Giai_vi_du3.2.5.; Uses crt;
Var x x0, 1,w, :e real i byte; : ;
x: array[1...10]of real;
Function ( :f x real real) : ; Begin
f :=sqt x( ) exp( ) 1;− x −
End;
Function Dhf x real real( : ) : ;
Begin
Dhf : 2 *= x−exp( );x
End;
Begin
Write(‘ nhap sai so w=’); readln( w);
Write (‘ chon xap xi ban dau x0=’); readln (x0); Writeln (‘cac xap xi tiep theo la:’);
i: 1;= e=0;
Repeat Begin
Writeln (' ', ,'[ ]i =', 1: 2 : 9);x
x0 :=abs x( 1−x0);
i:= +i 1;
End; Until (e<w);
Writeln (‘ Vay nghiem xap xi cua phuong trinh la:’,x i[ ]: 2 : 9); Readln;
End.
Kết quả:
Nhap sai so w 0.0001=
Chon xap xi ban dau x0= −1.1
Cac xap xi tiep theo la: x[ ]1 = −1.543319477
x[ ]2 = −1.492365362
x[ ]4 = −1.491650363
Vay nghiem xap xi cua phuong trinh la −1.491650363