My *nix world

Calculul aproximativ al radacinii patrate

Aceasta metoda descrie calculul aproximativ a radacinii patrate. Dorim sa aproximam valoarea \sqrt{x}.

Lasand la o parte toate celelalte metode cunoscute de extragere a radacinii patrate dintr-un numar, voi incerca sa va prezint o metoda simpla si eficienta.

Metoda se bazeaza pe ideea de a identifica rapid alte doua numere x1 si x2 aflate in vecinatatea lui x si care sunt patratele a doua numere naturale cunoscute y1 respectiv y2. Radacina patrata a lui x se calculeaza ca fiind \sqrt{x}=y_1 +\frac{y_2-y_1}{x_2-x_1}\cdot(x-x_1) (vezi demonstratie)

Exemplu:

Sa calculam \sqrt{26}

  • un numar mai mic de 26 (adica in vecinatatea stanga a sa) si care este patratul unui numar cunoscut ar fi x1=25 (25 este patratul lui y1=5)
  • un numar mai mare de 26 (adica in vecinatatea dreapta a sa) si care este patratul unui numar cunoscut ar fi x2=36 (36 este patratul lui y2=6)
  • nu cunosc nici un alt numar intre 25 si 36 care sa fie patratul vreunui alt numar natural, asa ca le iau pe acestea de "bune"

Calculez radacina patrata a lui 26 dupa metoda inticata mai sus:

 \sqrt{26}=5+\frac{6-5}{36-25}\cdot(26-25)=5+\frac{1}{9}\approx 5.11

Sa vedem ce ne arata calculatorul:

calculul aproximativ a radacinii patrate

Radacina patrata a lui 26

Eu zic ca 5.11 este o buna aproximare pentru 5.1, nu credeti?

Putem folosi metoda asta si pentru a extrage radacina patrata dintr-un numar urias precum 756811065 (l-am ales la intamplare). Toata "smecheria" este sa impartim numarul asta la un numar care este putere a lui 100 (caci 100=102 si ne vom folosi de lucrul asta), de exemplu la 1002 sau la 1003 sau 1004 samd astfel incat sa obtinem un numar zecimal cat mai "confortabil", eventual un numar cu 1 sau 4 digiti maxim (numerele >4 digiti devin iar complicate, nu-i asa?).

Ia sa vedem la ce putere a lui 100 putem imparti numarul nostru astfel incat ceea ce obtinem sa fie un numar a carui parte intreaga o putem incadra intre doua alte patrate a caror radacini sa le cunoastem deja:

  • daca impart la 1001=100 obtin  \frac{756811065}{100}=7568110.65 - nu cunosc "din cap" doua numere a caror patrate sa fie invecinate cu acesta (sau chiar daca as putea sa le deduc nu are rost sa ma complic)
  • daca impart la 1002=10000 obtin  \frac{756811065}{10000}=75681.1065 - iarasi este un pic prea mare si nu vreau sa lucrez cu numere uriase, nu-i asa?
  • daca impart la 1003=1000000 obtin  \frac{756811065}{10000}=756.811065 - aici parca m-as mai descurca (in sensul ca stiu din cap niste patrate apropiate):
    • de ex. stiu ca x1=252=625 si ca x2=302=900 iar 756.8 este un numar care se afla intre astea doua

Ideea e ca putem rescrie numarul 756811065=756.811065*1003

Deci  \sqrt{756}=25+\frac{30-25}{900-625}\cdot(756-625)=25+\frac{131}{55}\approx{27.382}

Nu uitati ca noi cautam radacina patrata din 756811065=756.811065*1003 si nu din 758.

Cine este radacina patrata a lui 1003 ? Pai 1003 se mai scrie ca (102)3=(103)2.

Deci  \sqrt{100^3}=\sqrt{(10^3)^2}=10^3

Ca atare as putea spune cu mana pe inima ca  \sqrt{756811065} \approx 27.382\cdot 10^3 adica 27382

Ce zice calculatorul?

calculul aproximativ a radacinii patrate

Radacina patrata a lui 756811065

Nu-s chiar asa aproape de adevar dar nici extrem de departe, daca tinem cont cat de mare este numarul.

Pentru o aproximare mai buna cautati acele numere x1 si x2 care sunt cele mai apropiate de numarul vostru x. As fi putut alege de exemplu x1=272 respectiv x2=282 iar 758 s-ar fi nimerit exact intre ele, caz in care  \sqrt{756811065} \approx (27+\frac{28-27}{28^2-27^2}\cdot(756-27^2))\cdot 100^3\approx 27491 ceea ce este deja o mult mai buna aproximare, nu-i asa?

Demonstratie
Demonstratia se bazeaza pe putina geometrie.

calculul aproximativ a radacinii patratePe axa-x am trecut valorile lui x, pe axa-y am trecut valorile lui y (adica radacina patrata corespunzatoare fiecarui x).

Observam ca in ΔABC latura AC=x2-x1 iar latura BC=y2-y1. De asemenea, in ΔADP latura AD=x-x1 iar latura PD=√13-y1.

Observam ca in Δ ABC ≈Δ ADP (UUU) =>  \frac{BC}{AC}=\frac{PD}{AD} adica  \frac{y_2-y_1}{x_2-x_1}=\frac{\sqrt{13}-y_1}{x-x_1}

Deci  \sqrt{13}=y_1+\frac{y_2-y_1}{x_2-x_1}\cdot(x-x_1)=3+\frac{4-3}{16-9}\cdot(13-9)=3+\frac{4}{7}\approx 3,57 QED.

Facem si o verificare cu calculatorul de buzunar:

calculul aproximativ a radacinii patrate

Radacina patrata a lui 13

Daca vei considera ca articolul te-a ajutat atunci te rog nu uita sa-i dai o nota (stea). Asta imi arata ca iti pasa si ca urmare ma voi implica si voi scrie mai multe pe aceasta tema.

The following two tabs change content below.
Calculul aproximativ al radacinii patrate

Eugen Mihailescu

Founder/programmer/one-man-show at Cubique Software
Always looking to learn more about *nix world, about the fundamental concepts of math, physics, electronics. I am also passionate about programming, database and systems administration. 16+ yrs experience in software development, designing enterprise systems, IT support and troubleshooting.
Calculul aproximativ al radacinii patrate

Latest posts by Eugen Mihailescu (see all)

Leave a Reply

Your email address will not be published. Required fields are marked *