4 işlemle Sayının Karekökünü bulma bu benim binom açılımı teoremine dayanarak bulduğum bişey
binom açılımı şunu söyler
(1+x)^n =~ (1+nx) eğer x<<1 ise
elimizde karekökünü bilmek istediğimiz bir sayı olsun diyelim ki N
bu sayıyı şöyle yazabiliriz
N=m^2+a
burda m^2 N sayısına en yakın karekökünü bildiğimiz bir sayı olsun
N=(m^2)*(1+a/m^2) şeklinde yazabiliriz bunun kare kökünü almak istiyoruz
ozaman
N^0.5=m*(1+a/m^2)^0.5
(1+a/m^2)^0.5 kısmına binom açılımını uygularsak
(1+a/m^2)^0.5=~(1+a/(2*m^2))
yani
N^0.5=~m*(1+a/(2*m^2))
bi kaç örnekle gösterelim işe yaradığını
mesela sayımız N=5
5=4+1=2^2+1 dir burda m=2 a=1 oluyor
o halde
5^0.5=~2*(1+1/(2*4)) = 2.25
gerçek değerine bakarsak
5^0.5=2.2360679774997896964091736687313
sayı büyüdükçe gerçek değerine o kadar yaklaşıyor mesela
N=98 olsun
N=10^2-2 o halde m=10 a=-2
98^0.5=~10*(1-2/(2*100))=9.9
98^0.5=9,8994949366116653416118210694679
iyi yaklaşmız demi ;)
Üs alma içinde şöyle birşey yazmıştık zamanında;
https://www.picproje.org/index.php/topic,5318
Hacettepeli arkadaşım,
yöntemin güzel de, sayıyı biliyorsan zaten karekökünü alıp, programına yerleştirisin. Sayıyı başka yerden okutuyorsan, bu durumda katsayıları (m ve a yı) buldurmak için harcayacağın emek sanki, doğrudan karekök alma işlemine göre daha çok olacak gibi görünüyor.
Karekök konusunda newton-ramphson metodu da oldukça kullanışlı olurdu. Gerçi iterasyon gerektirir ama girilen her pozitif değer için karekökü yüksek hassasiyette bulursun.
hayır ben bunu pic programlamada kullanıyorum demedim sadece 4 işlemle nasıl yapılır filan diye düşünürken böyle bişey çıktı mesela kötü bi hesap makineniz var orda kullanırsınız programlama için düşünmemiştim bunu
newton yöntemiyle polinom kökleri bulunmasını anlatıyım ve nerden çıktığını bi zaman iyi aklıma getirdin ;)