Konuyu Oyla:
  • Derecelendirme: 5/5 - 2 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Kendi Logaritma Fonksiyonumuzu Nasıl Yazarız?
#1
Logaritma özellikle algoritmaların hesaplanmasında oldukça fazla kullanılmaktadır.Örneğin ikili aramada (binary search) en kotu ihtimal log2(n)'dir.Peki biz kendi logaritma fonksiyonumuzu nasıl yazarız? Bunun için genellikle Taylor serisi kullanılıyor diye tahmin ediyorum.Fakat Taylor serisini kullanmadan da kendi fonksiyonumuzu basit bir şekilde yazabiliriz.Bunun için türevin formülünden yararlanacağız.
a^x(a üzeri x) 'in türevi ln(a).a^x'dir;peki türevin formülü açısından incelersek,
f(x)=a^x;
dy/dx= lim h->0 (a^(x+h)-a^x)/h (limit h sıfıra giderken)
a^x parantezine alırsak  lim h->0 a^x((a^h)-1)/h  olur.a^x 'in limitteki değişkenle bir ilgisi olmadığı için limitin dışına alabiliriz, a^x. lim h->0 ((a^h)-1)/h olur.
Biz bu ifadenin neye eşit olduğunu biliyoruz:
a^x . lim h->0 ((a^h)-1)/h=a^x . ln(a);
a^x'e bölersek her iki tarafı eşitlik şu şekilde olur:  lim h->0 ((a^h)-1)/h=ln(a) Artık ln(a) fonksiyonunu h değerine 0' yakın bir değer vererek  kolayca yazabiliriz.Peki logb(a) fonksiyonu nasıl yazarız? Biliyoruz ki herhangi bir logaritma ifadesini diğer tabanlara şu şekilde çevirebiliyoruz.Örneğin logb(a)=ln(a)/ln(b).O halde artık bütün logaritmik değerleri ifade edebiliriz.Aşağıda  delphi için kodlar mevcut oldukça kolay olduğunu, ve hesaplama yaptığınızda hesap makinesiyle aynı (yada oldukça yakın) değeri  verdiğini göreceksiniz.Eğer benim gibi boş işler peşinde koşmayı seviyorsanız deneyip görebilirsiniz.Smile 
unit Unit9;

interface

uses
 Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
 Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls,Math;

type
 TForm9 = class(TForm)
   Button1: TButton;
   function fln(n:extended):extended;
   function flog(taban:extended;sayi:extended):extended;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form9: TForm9;

implementation

{$R *.dfm}
 function TForm9.flog(taban:extended;sayi:extended):extended;
 begin

   result:= RoundTo(fln(sayi)/fln(taban),-6);// virgülden sonra altı sayıyı aldım, siz istediğniz gibi alabilirsiniz.
 end;


function TForm9.fln(n:extended):extended;
 var
 h:extended;
begin
  h:=0.000000001;// (lim h-> 0 ) sıfıra yaklaşan bir değer veriyoruz
   result:=(power(n,h)-1)/h;  // ln(n)   değerimiz

end;
 procedure TForm9.Button1Click(Sender: TObject);
begin
Showmessage(flog(8,4096).ToString);
end;
end.
Herhangi bir basit problem, hakkında yeterince toplantı yapılarak, çözümsüz hale getirilebilir.
https://play.google.com/store/apps/developer?id=ONGUN
WWW
Cevapla
#2
ne boş işi hocam. Salt matematikdir bu en sevdiğim konulardan. çok vakit bulamazsam da bana 95lerdeki dersane dönemimi hatırlatır Smile elinize sağlık.
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#3
Elinize sağlık @savasabd  bey, ara sıra beyin jimnastiği (umarım doğru yazmışımdır) yapmak iyi gelir  Smile

Siz "Form9" a kadar geldiğinize göre logaritma haricinde de başka çalışmalar yapmışsınız Big Grin
Cevapla
#4
Elinize sağlık güzel bir anlatım olmuş.
Cevapla
#5
Teşekkür ederim, sağolsun arkadaşlar.

(10-03-2020, Saat: 16:59)frmman Adlı Kullanıcıdan Alıntı: Elinize sağlık @savasabd  bey, ara sıra beyin jimnastiği (umarım doğru yazmışımdır) yapmak iyi gelir  Smile

Siz "Form9" a kadar geldiğinize göre logaritma haricinde de başka çalışmalar yapmışsınız Big Grin

Evet var.Smile TForm8  karakök fonksiyonu mesela.Smile
Herhangi bir basit problem, hakkında yeterince toplantı yapılarak, çözümsüz hale getirilebilir.
https://play.google.com/store/apps/developer?id=ONGUN
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  SANAL BİLGİSAYARA macOS SONOMA NASIL KURULUR? engerex 1 275 19-02-2024, Saat: 08:41
Son Yorum: yhackup
  IF Nedir, Nasıl Kullanılır uparlayan 14 16.317 13-12-2019, Saat: 09:23
Son Yorum: SimaWB
  Array Nedir, Nasıl Kullanılır (Güncellendi) uparlayan 11 16.725 26-09-2019, Saat: 11:43
Son Yorum: Bay_Y
  Interposer Class Nedir, Nasıl Kullanılır uparlayan 31 23.768 18-09-2019, Saat: 21:35
Son Yorum: Aktolgali
  Taylor Serisi ve Kendi Trigonometrik Fonksiyonlarımızın Yazımı savasabd 3 3.497 11-12-2018, Saat: 21:40
Son Yorum: savasabd



Konuyu Okuyanlar: 1 Ziyaretçi