ATATÜRK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MAKİNE MÜHENDİSLİĞİ BÖLÜMÜ SAYISAL YÖNTEMLER DERS NOTLARI Doç. Dr. Cihat ARSLANTÜRK Doç. Dr. Yusuf Ali KARA ERZURUM 2012 BÖLÜM 1 MATEMATİKSEL TEMELLER ve HATA ANALİZİ 1.1. GİRİŞ Sayısal yöntemler, matematik problemlerinin, aritmetik işlemlerle çözülebilmelerini sağlayacak şekilde formüle edildiği tekniklerdir. Çeşitli sayısal yöntemler olmasına karşın, hepsinin ortak bir özelliği vardır: hepsi, değişmez bir şekilde çok sayıda zahmetli aritmetik işlem içerir. Bu nedenle, hızlı ve verimli sayısal bilgisayarların gelişmesiyle son yıllarda mühendislik problemlerinin çözümünde sayısal yöntemlerin önemli bir rol alması hiç de şaşırtıcı değildir. Sayısal yöntemleri öğrenmemizi gerektiren birçok neden sayılabilir. 1. Mühendislik uygulamalarında hiç de nadir olmayan ve analitik yollardan çözülmesi çoğu zaman olanaksız olan büyük sayıda denklem sistemlerini, doğrusallıktan sapmaları ve karmaşık geometrileri çözmeyi başarabilirler. 2. Mühendislikte, çoğu zaman ticari olarak sunulan ve sayısal yöntemleri içeren paket bilgisayar programlarını kullanmak zorunluluğu ortaya çıkar. Bu programların akılcı bir şekilde kullanılması genellikle yöntemlerin arkasındaki temel kuramı bilmekle mümkündür. 3. Eğer sayısal yöntemlerden anlıyorsanız ve bilgisayar programlamada ustaysanız, pahalı yazılımlara para ödemeye gerek kalmadan problemlerinizi çözebilirsiniz. 4. Sayısal yöntemlerle uğraşırken, bilgisayar programcılığınız da buna paralel olarak gelişecektir. 5. Sayısal yöntemler matematik anlayışınızı güçlendirecek araçlardır. Sayısal yöntemlerin bir işlevi de yüksek matematiği basit aritmetik işlemlere indirgemek olduğundan, başka zaman belirsiz kalan bazı konuların ayrıntılarına girer. Bu alternatif bakış açısıyla daha derinlemesine bir kavrayış ve açıklayıcı bilgi edinilebilir. 1.2. MATEMATİK MODELLEME ve MÜHENDİSLİK PROBLEMLERİNİN ÇÖZÜMÜ Matematik bir model, en genel anlamıyla, fiziksel bir sistemin veya bir sürecin ana özelliklerini matematik terimlerle ifade eden bir eşitlik veya formül olarak tanımlanabilir. En genel halde matematik model aşağıdaki biçimde bir fonksiyonel ilişki olarak gösterilebilir. Bağımlı değişken=f (bağımsız değişkenler, parametreler, zorlayıcı fonksiyonlar) (1.1) Burada bağımlı değişken sistemin davranışını veya konumunu belirten bir özelliktir, bağımsız değişkenler genellikle zaman veya konum gibi sistemin davranışını 1 belirleyen boyuttur, parametreler sistemin özelliklerini ve yapısını yansıtırlar, zorlayıcı fonksiyonlar ise sistemi etkileyen dış etkenlerdir. (1.1) eşitliği ile verilen fonksiyonun gerçek matematiksel ifadesi, basit bir cebirsel bağıntı olabileceği gibi çok uzun karmaşık diferansiyel denklem takımları da olabilir. Tablo 1.1 bu fonksiyonları ve bunlara ait örnekleri içermektedir. Tablo 1.1 Bazı Mühendislik Problemleri ve bunlara ait örnekler Cebrik Denklemler F= ma; σ = Eε Algebraic Equations Adi Diferansiyel Denklemler, ADD dv d2x F= m = m (Ordinary Differential Equation, ODE) dt dt2 Kısmi Diferansiyel Denklemler, KDD ∂2T ∂2T + =q (Partial Differential Equation, PDE) ∂2x ∂2y (1.1) eşitliği ile verilen matematiksel modele, “bir cismin momentumundaki zamana göre değişiminin cisme etki eden bileşke kuvvetle orantılıdır” ifadesi ile verilen Newton’un ikinci yasası örnek olarak verilebilir. Bu ifade matematiksel olarak aşağıdaki şekilde yazılabilir. F= m.a (1.2) Burada F, cisme etkiyen net kuvvet (N), m, cismin kütlesi (kg) ve a, cismin ivmesidir (m/s2). İkinci yasa, her iki taraf m’ye bölünerek Eşitlik (1.1)’e benzer şekilde aşağıdaki gibi yeniden yazılabilir. F a = (1.3) m Burada a, sistemin davranışını yansıtan bağımlı değişken; F, zorlayıcı fonksiyon ve m, sistemin bir özelliğidir. Bu basit durum için bağımsız değişken yoktur, çünkü henüz ivmenin konuma ya da zamana göre nasıl değiştiğini belirlemedik. Eşitlik (1.3) basit bir cebirsel ifadedir ve kolaylıkla çözülebilir. Ancak, diğer fiziksel olayların matematik modelleri çok daha karmaşık olabilir. Bunlar ya tam olarak çözülemez, ya da daha karmaşık matematiksel çözüm teknikleri gerektirirler. Yeryüzüne yakın bir yükseklikte serbest düşen bir cismin son hızını elde etmek için Newton’un ikinci yasasını kullanalım. Burada düşen cisim yüksek bir yerden atlayan “bungee jumper” (Şekil 1.1a) veya bir paraşütçü Şekil (1.1b) olsun. İvme, hızın zamana göre değişimi olarak ifade edilir ve (1.3) eşitliğinde yerine yazılırsa dv F = (1.4) dt m Cisme etkiyen net kuvvet, ağırlık ve ters yöndeki hava direncinin bileşkesidir. 2 Şekil 1.1 Serbest düşen cisimlere etki eden kuvvetler F=F +F (1.5) D U Eğer aşağı yön pozitif kabul edilirse, F = mg (1.6) D yazılabilir. Hava direncinin hızla doğru orantılı olarak değiştiği kabul edilebilir. F = −cv (1.7) U Burada c (kg/s), direnç katsayısı olarak isimlendirilir. Gerekli basitleştirmeler yapılarak aşağıdaki ADD elde edilir. dv c =g− v (1.8) dt m Eğer başlangıçta paraşütçü hareketsiz ise, (t=0 iken v=0) diferansiyel denklemin çözümü aşağıdaki şekilde elde edilir. mg[ ] v(t)= 1−e−(c/m)t (1.9) c 3 Eşitlik (1.9) ile (1.1) karşılaştırılırsa; v(t), bağımlı değişken; t, bağımsız değişken, c ve m, parametreler ve g, zorlayıcı fonksiyon olarak karşımıza çıkar. Örnek 1.1 Kütlesi 68.1 kg olan bir paraşütçü, duran bir hava balonundan atlamaktadır. Paraşütçünün hızının zamanla değişimini bulunuz. Çözüm: Sayısal değerler (1.9) eşitliğinde yerlerine yazılırsa, hızın zamana göre değişimini veren ifade elde edilir. [ ] v(t) =53.391−e−0.18355 t (1.10) Dikkat edilirse bu fonksiyonun alacağı maksimum değer v=53.39 m/s kadardır. 60 Son hız 50 40 s m/ 30 , v 20 10 0 0 5 10 15 20 25 30 t,s Şekil 1.2 Düşen paraşütçü probleminin analitik çözümü. Paraşütçünün hızı zamanla artmakta ve asimptotik olarak bir son hız değerine ulaşmaktadır. Eşitlik (1.9) orijinal diferansiyel denklemi tamamen sağladığından analitik veya tam çözüm olarak adlandırılır. Ancak ne yazık ki birçok matematik model tam olarak çözülemez. Birçok durumda tam çözüme yaklaşmak için tek seçenek, sayısal bir çözüm geliştirmektir. Daha önce anıldığı gibi sayısal yöntemler, matematiksel problemlerin cebirsel işlemlerle çözülebilmesi için yeniden ifade edildiği problemlerdir. Bu ise Newton’un ikinci yasasında hızın zamana göre türevinin yaklaşık olarak Şekil 1.3 te görüldüğü gibi ifade edilmesiyle gösterilebilir. 4 Şekil 1.3 v’nin t’ye göre birinci türevi için sonlu fark yaklaşımının kullanılması dv ∆v v(t )−v(t ) ≅ = i+1 i (1.11) dt ∆t t −t i+1 i Bu ifade türevin yaklaşık olarak hesaplanmasını sağlar. Burada, v(ti), ti başlangıç anındaki hız, v(ti+1) ise sonraki ti+1 anındaki hızı göstermektedir. Türevin bu değeri (1.8) denkleminde yerine yazılır ve ifade yeniden düzenlenirse, c v(t )= v(t )+ g− v(t ) (t −t ) (1.12) i+1 i i i+1 i m Örnek 1.2 Örnek 1.1’deki hesaplamayı sayısal olarak yapın. Çözüm: (1.12) eşitliği kullanılarak istenen hesaplama yapılır. Başlangıçta t =0 ve 0 v(t )=0 olarak bilinmektedir. Zaman adımı 2 saniye olarak alınırsa, 0 1.25 v(t )=0+ 9.8− (0) (2−0)=19.60m/s 1 68.1 1.25 v(t ) =19.60+ 9.8− (19.60) (2−0) =32.00m/s 2 68.1 Zaman ilerletilerek diğer zamanlara ait çözümler elde edilir. Sayısal çözüm, tam çözüm ile birlikte Şekil 1.4’te gösterilmiştir. Sayısal çözümün de tam çözümün asıl karakteristiğini yakaladığını söylemek mümkündür. Ancak sürekli eğrisel bir fonksiyon için doğrusal parçalı bir yaklaşım kullanıldığından, tam ve sayısal 5 çözümler arasında bir fark vardır. Bu farkı küçültmenin yolu daha küçük bir zaman adımı kullanmaktır. Adımı küçültmenin daha fazla doğruluk sağladığı, ancak, hesaplama zamanını da artırdığının farkında olmak gerekir. Şekil 1.4 Düşen paraşütçü probleminde analitik ve sayısal çözümlerin karşılaştırılması 1.3. YAKLAŞTIRMA ve YUVARLATMA HATALARI Her ne kadar, sayısal teknikler analitik çözüme yakın sonuçlar verse de, sayısal yöntem bir yaklaştırma içerdiğinden tam çözümle arada bir fark (hata) ortaya çıkmaktadır. Sayısal yöntemlerin iki ana hata türü yuvarlatma ve kesme hatalarıdır. • Yuvarlatma hatası, bilgisayarların büyüklükleri sadece belirli sayıda haneyle gösterebilmelerinden kaynaklanır (makineye bağlı). • Kesme hatası, sayısal yöntemlerin, gerçek matematik işlem ve büyüklükleri ifade edebilmek için yaklaştırma kullanabilmesi sonucunda oluşan farklılıklardır (yönteme bağlı). 1.3.1. Anlamlı Basamaklar Bir hesapta sayıyla çalışıyorsak bunu güvenle kullanabileceğimize dair garantimiz olmalıdır. Örneğin Şekil 1.1’de verildiği gibi bir otomobilin hız ve kilometre göstergelerini düşünelim. Hız göstergesinden otomobilin 49 ile 50 km/saat hızla gittiği anlaşılabilir. 6 60 40 60 40 80 20 100 0 120 4 87324 5 Şekil 1.5 Anlamlı basamak kavramını göstermek için bir otomobilin hız ve kilometre göstergeleri İbre gösterge üzerindeki işaretlerin orta noktasından daha uzun olduğu için, aracın yaklaşık olarak 50 km/saat hızla hareket ettiğini güvenle söyleyebiliriz. Bu okumaya güveniriz, çünkü bu göstergeyi okuyacak iki veya daha fazla kişi de aynı sonuca ulaşacaklardır. Ancak hızın okunmasında noktadan sonra bir ondalık basamak daha olmasında ısrar edilecek olursa, bir kişi 49.8, bir başkası 49.9 km/saat diyebilecektir. Dolayısı ile bu aletin sınırları nedeniyle okumanın sadece ilk iki basamağı güvenle kullanılabilir. Öte yandan kilometre göstergesi altı kesin basamak göstermektedir. Bir sayının anlamlı basamakları güvenle kullanılabilecek olan basamaklardır. Kesin bilinen basamak sayısına ek olarak bir de tahmin edilen basamağı ifade ederler. Buna göre hız göstergesi 3 anlamlı basamak, kilometre göstergesi ise 7 anlamlı basamak göstermektedir. Genellikle bir sayının anlamlı basamaklarını bulmak kolay olsa da, bazı karışık durumlar olabilmektedir. Örneğin, sıfırlar her zaman anlamlı basamak değildir, çünkü sadece ondalık noktanın yerini belirler. 0.00001845, 0.0001845 ve 0.001845 sayılarının hepsinde dört anlamlı basamak vardır. Benzer biçimde büyük sayılarda, sağ taraftaki sıfırların kaç tanesinin anlamlı olduğu açık değildir. Örneğin, 45300 sayısının sıfırlarının güvenle bilinip bilinmemesine bağlı olarak üç, dört veya beş anlamlı basamağı olabilir. Bu tür belirsizlikler bilimsel notasyon kullanılarak giderilebilir. 4.53×104, 4.530×104, 4.5300×104 sayıları sırasıyla üç, dört ve beş anlamlı basamağa kadar bilinmektedir. 1.3.2. Doğruluk ve Hassaslık Doğruluk, hesaplanan ya da ölçülen değerin gerçek değere ne kadar uyduğunu ifade eder. Hassaslık ise, hesaplanan ya da ölçülen değerlerin kendi aralarında ne kadar 7 uyumlu olduklarını ifade eder. Şekil 1.2 deki hedef tahtasındaki her bir mermi deliği, sayısal bir tekniğin tahminleri olarak, hedefin ortası da gerçek olarak düşünülebilir. Şekil 1.6 Doğruluk ve hassaslık kavramlarını açıklamak için hazırlanmış hedefe atış örneği (a) yanlış ve belirsiz (b) doğru ve belirsiz (c) yanlış ve hassas (d) doğru ve hassas 1.3.3. Hata Tanımları Sayısal hatalar gerçek matematik işlemlerin ve büyüklüklerin yaklaştırmalarla ifade edilmelerinden doğar. Bunlar kesme ve yuvarlatma hatalarıdır. Gerçek ve yaklaşık sonuç arasındaki ilişki, Gerçek değer = yaklaştırma + hata (1.13) Şeklinde ifade edilebilir. Bu durumda gerçek sayısal hata, E , aşağıdaki şekilde ifade t edilir. E = gerçek değer – yaklaştırma (1.14) t Bu tanımın eksikliği, incelenmekte olan değerin mertebesini hiç dikkate almamasıdır. Örneğin bir santimetrelik bir hata, iki şehir arasındaki mesafe için anlamlı değilken, bir kalemin boyunun ölçümü için anlamlıdır. Büyüklüklerin mertebelerini de dikkate almanın bir yolu hanın gerçek değere göre normalize edilmesidir. Gerçek oransal bağıl hata = gerçek hata / gerçek değer Gerçek bağıl yüzde hata aşağıdaki şekilde tanımlanır. ε = (gerçek hata/ gerçek değer) × %100 (1.15) t Burada t indisi hatanın gerçek değerle normalize edildiğini göstermektedir. Ancak sayısal yöntem uygulamalarında gerçek değer bilinmediğinden bu hata 8 hesaplanamaz. Bu durumda hata, gerçeğin en iyi bilinen tahminine göre normalize edilir. ε = (yaklaşık hata/ yaklaştırma) × %100 (1.16) a Burada a indisi hatanın bir yaklaştırma ile normalize edildiğini göstermektedir. Sayısal yöntemlerdeki zor işlerden biri de gerçek değer hakkında bilgi sahibi olmadan hata tahminleri yapmaktır. Örneğin belirli sayısal yöntemler, yanıtı hesaplamak için iteratif yaklaşım kullanır. Bunlarda mevcut yaklaştırma, bir önceki yaklaşım esas alınarak yapılır. Bu tip durumlarda hata, genellikle o andaki yaklaştırma ile bir önceki yaklaştırma arasındaki fark olarak tahmin edilir. Dolayısıyla, bağıl yüzde hata aşağıdaki ifadeyle bulunur: ε = (mevcut yaklaştırma-önceki yaklaştırma) /(mevcut yaklaştırma)× %100 a Çoğu zaman hesap yaparken hatanın işareti ile ilgilenmeyebiliriz, ancak yüzdenin mutlak değerinin önceden verilen bir ε tolerans değerinden daha küçük olup s olmadığı bizi ilgilendirir. Bu durumda aşağıdaki şart sağlanıncaya kadar hesaba devam edilir. ε <ε (1.17) a s Bu bağıntı sağlanırsa, sonucun daha önce belirlenmiş, kabul edilebilir hata sınırları içinde kaldığı kabul edilir. Hataları anlamlı basamak sayısıyla da ilişkilendirmek yararlı olacaktır. Aşağıdaki ölçüt gerçekleştiği takdirde sonucun en az n anlamlı basamak için kesinlikle doğru olduğu literatürde ispatlanmıştır. ε =%(0.5×102−n) (1.18) s 1.3.4. Yuvarlatma Hataları Daha önce belirtildiği gibi, yuvarlatma hataları bilgisayarların hesaplar sırasında sadece belirli sayıda anlamlı basamağı saklamalarından kaynaklanır. π, e,√7 gibi sayılar sabit sayıda anlamlı basamakla yazılamaz. Bu nedenle bilgisayarda tam olarak ifade edilemezler. Ayrıca bilgisayarlar 2-tabanlı gösterim kullandıklarından bazı 10-tabanlı tamsayıları da hassas olarak ifade edemezler. Anlamlı basamakların bu şekilde ihmal edilmelerinden doğan farka yuvarlatma hataları denir. 1.3.4.1 Sayıların bilgisayarda gösterimi Sayısal yuvarlatma hataları doğrudan sayıların bilgisayarda saklanma şekliyle ilgilidir. Bilginin gösterildiği en temel birim kelime olarak bilinir. Bu büyüklük bir dizi iki tabanına göre yazılmış sayı veya bit’ten meydana gelir. Sayılar tipik olarak bir veya daha fazla kelime şeklinde saklanır. Bunun nasıl yapıldığını anlamak için, önce sayı sistemleriyle ilgili bazı bilgileri gözden geçirmek gerekir. 9
Description: