Sayısal Analiz Ders Notları Ders 1 Deniz UÇAR Sayısal Analiz : Sayısal analiz (nümerik analiz veya sayısal çözümleme) matematik problemlerinin bilgisayar yardımı ile çözümlenme tekniğidir. Genellikle analitik olarak çözümleri çok zor veya imkânsız olan matematik problemleri belli hata aralıklarında çözümlemek için kullanılır. Sayısal çözümün vazgeçilmez parçalarından biri de elektronik araçlardır. Bilgisayar teknolojisi ile sayısal analiz metotları birbirine paralel olarak gelişmiştir. Örnek : günümüzün en popüler nümerik analiz metotlarından biri olan sonlu elemanlar metodunun teorisi 1930'larda olmasına rağmen; yöntem el ile işlem yapmaya uygun olmadığından dolayı gerekli ilgiyi o yıllarda görmemiş ve gelişen bilgisayar teknolojisiyle birlikte kullanım alanı bulmuştur. Sayısal işlemler için süper bilgisayarlar kullanılabileceği gibi bunun yanında küçük hesap makineleri de kullanılabilir. Hangisi kullanılırsa kullanılsın, işlem yapılabilmesi için her ortamın kendine özgü yazım kurallarının bilinmesi gereklidir. Bilgisayarlarda problemlerin modellenmesi ve çözümleri için BASIC, Fortran, Pascal, C, C++, C#, Pyhton gibi genel amaçlı programlama dillerinden bir kullanılabilir. Ama bilgisayar programı yazmak zahmetli bir iş olduğu için matematiksel işlemler yapabilen ticari paket programları, örnek olarak Mathematica, MatLab veya MathCAD, kullanılabileceği gibi ücretsiz olarak internet ortamında bulunan SciLab ve Octava, gibi matematiksel işlemler yapmak için geliştirilmiş programlarda kullanılabilir. Bu programlar çok pahalı, yaygın olarak kullanımı olmadığından veya kendilerine özgü bir kullanım şekli olduğundan dolayı her ofis/kullanıcı için uygun olamayabilir. Buların yerine ofis paket programların değişmez parçası olan Elektronik Hesap Tablo (Spread Sheet) programları da sayısal işlemleri yapmak için günlük kullanıma elverişli olabilir. Diğer taraftan bu hazır elektronik hesap tabloları ve matematik programları genel amaçlı kullanımlar için geliştirildiklerinden dolayı her kullanıcının gereksinimlerini bire bir karşılamayabilir. Bu durumlarda sayısal çözümleme yapacak kişinin programlama dillerinden birini kullanarak program yazmaktan başka çaresi kalmayabilir. Burada yine elektronik hesap tablolarının kendi içinde programlama yapmaya yardımcı araçları kullanılabilir. Bu araçlar kullanıcıya VisualBasic formatında programlama yapma imkânı vermektedir. Fakat bu yazılan programların en büyük dezavantajı tek başlarına kullanılamıyor olmalarıdır, bu programlar her zaman hangi program içinde geliştirildi iseler o programların içinde çalışabilirler. Yani "exe" uzantılı halde getirilemezler. Piyasada birçok Elektronik hesap tablo programları vardır. Bunlardan bazıları: Microsoft Ofisin bir parçası olan EXCEL, Coral Ofisin bir parçası olan Coral Lotus 1-2-3, OpenOffice ve StrarOffice programlarıdır. Hatalar ve Hataların Kaynakları Fiziksel veya sosyal olayların matematiksel olarak çözülmelerinde yapılan hatalar genellikle üç ana başlıkta toplanır. Bunlar modelleme hataları, ölçme hataları ve sayısal hatalardır. 1. Modelleme hatası, bir olayın formüle edilmesi esnasında varsayımlardan kaynaklanan hatalardır. Örnek olarak serbest düşme problemlerinin modellenmesinde hava ile cisim arasındaki sürtünme ihmal edilmesinden dolayı meydana gelen hatalar bu tür hatalar gurubuna girer. 2. Ölçme hatası , deney ve gözlemede ölçmelerden dolayı meydana gelen hatalardır. Yukarıdaki örnekte eğer serbest düşme yapan cismin, düştüğü mesafe veya havada düşerken geçen süre eğer yanlış ölçülürse bu tür hatalar ölçme hatası olarak tanımlanabilir. 3. Sayısal hatalar veya diğer bir deyimle modelim çözümlenmesinde yapılan hatalardır. Bu bölümde sayısal hatalardan bahsedilecektir. Genel olarak sayısal hataları iki ana gruba ayırabiliriz: kesme hatalar (truncation error) ve yuvarlama hataları (roudn off). Yuvarlama hataları : 1/3 kesrini bilgisayar 0.33333... gibi belli adet hane kullanarak yazar. sayıların tanımlanması için kaç hane kullanılacağı rakamların nasıl tanımlandığı ve bilgisayarın mimarisi ile ilgilidir. Bu tür hatalara yuvarlama hatası (round-off error) denir. Kesme hataları : Örnek olarak bir integral işlemini analitik olarak yapmak yerine nümerik olarak yapmak için sürekli bir f(x) fonksiyonu yerine, bu fonksiyonun alanını kolay yoldan bulabilecek biçimde küçük parçacıklara bölünerek süreksiz hale getirilir. Bu süreksizlikler hatalara neden olur; bu tür hatalara kesme hatası denir. Yukarıda görüldüğü gibi kullanılan terim sayısı artıkça, fonksiyon analitik değerine yaklaşacaktır. Eğer terim sayısı azaltılırsa hata miktarı büyür. Bilgisayar işlemlerinde sonsuz sayıda adım kullanılmayacağı için, belli sayıda terim kullanıldıktan sonra veya belli bir hata aralığına gelince işlemin durdurulması gerekir. Bu hata miktarları genellikle üç tür ölçek kullanılarak tanımlanır. Bunlar: Mutlak Hata (Absolute Error, em): Analitik olarak bulunan veya doğru olarak kabul edilen değer ile nümerik olarak bulunan değerin farkının mutlak değeri mutlak hata olarak tanımlanır. Matematiksel olarak denklem ile gösterilir. , Bağıl Hata (Relative Error, eb) : Gerçek değer ile yaklaşık değerin farklarının, gerçek değere oranı olarak tanımlanır. Matematiksel olarak denklem (1-4) ile gösterilebilir. Bağıl hata boyutsuz olduğu için, mutlak hatadan daha anlamlıdır. Ama fonksiyonun gerçek değeri sıfıra eşit olduğunda bağıl hata tanımsız olacağından dolayı her problem için kullanışlı değildir. İki tanım : Doğruluk bir hesaplanılan veya ölçülen değerin gerçek değere ne kadar yaklaştığını ifade eder. Bunun yanına hassaslık ise bir ölçüm veya hesabın kendi aralarında ne kadar uyumlu olduğunu gösterir. Örnek olarak n adet numunesi test edilmiş ve n farklı sonuç elde edilmiş olsun. Eğer sonuçlar bir birine yakınsa ölçüm hassastır denebilir ama sonucun doğruluğu tartışılabilir. Testin doğruluğunu kanıtlamak için ise kullanılan cihazın doğru olarak ölçme yaptığı kanıtlanmalıdır.