2. • Metoda coardelor este utilizată din cazua că
printr-un număr mic de iterații pot fi obținute
soluții cu o exactitate foarte înaltă.
3. Algoritmul
• Se determină e și x0 (extremitățile fixe);
• 1)c:=a-(f(a))/(f(b)-f(a))*(b-a);
• Dacă f(c)*f(a)<0 atunci e:=a;x0:=b
Altfel e:=b ; x0:=a ;i:=0/
2)x(i+1)=x(i)-(f(x(i)))/(f(e)-f(x(i)))*(e-x(i));
Pasul 2 se repetă pînă la găsirea soluției
aproximative sau exacte.
4. Condițiile
• 1)f(x) continuă pe intervalul (a;b)
• 2)pe segmentul (a;b) există f’(x)=/=0 f’’(x)=/=0
• 3)f(a)*f(b)<0
• Aceste proprietăți garantează existența unei
soluții pe intervalul (a;b) care poate fi
calculată prin metoda coardelor;
5. Program în Pascal
• program coarde;
• var a,b,e,c,x:real;
• n,i:integer;
• function f(x:real):real;
• begin f:=sqr(x)-1;end;
• begin a:=0.5 ;b:=1.5;n:=10;
• c:=a-(f(a))/f(b)-f(a))*(b-a);
• if f(c)*f(a)>0 then begin e:=b;x:=a; end
• else begin e:=a ;x:=b ;end;
• for i:=1 to n do
• begin x:=x-(f(x))/(f(e)-f(x))*(e-x);
• writeln(x:10:8,' ',f(x):12:8);
• end;
• end.
• Aceast program găsește rădăcina funcției f(x)=sqr(x)-1 pe intervalul (0.5;1.5) prin
10 coarde;
6. Program în Pascal
• program coarde;
• var Msup,minf,a,b,e,x,xnou,xvechi,eps:real;
• function f(x:real):real;
• begin
• f:=sqr(x)-1;
• end;
• begin
• a:=0.5 ;b:=1.5 ;eps:=0.0001;
• Msup:=0.22;minf:=-0.3;
• x:=a-(f(a))/(f(b)-f(a))*(b-a);
• if f(x)*f(a)>0 then begin e:=b; xnou:=a;end
• else begin e:=a;xnou:=b;end;
• repeat
• xvechi:=xnou;
• xnou:=xvechi-(f(xvechi))/(f(e)-f(xvechi))*(e-xvechi);
• writeln(' x=',xnou:10:8,' f(x)=',f(xnou):12:8);
• until abs((Msup-minf)/minf*(xnou-xvechi))<eps;
• end.
• Acest pogram calculează rădăcinile funcției f(x)=sqr(x)-1 pe intervalul (0.5;1.5) pînă la precizia de 0.0001
7. Conluzie
• Metoda coardelor este o metodă care necesită
o cercetare a funcției înainte de a fi
aplicată.Odată aplicată ea este mult mai
rapidă decît metoda bidecției iată de ce ea
este folosită mai des.