Hatalar ve Bilgisayar Aritmetiği

Benzer belgeler
2. HAFTA BLM323 SAYISAL ANALİZ. Okt. Yasin ORTAKCI.

MAK 210 SAYISAL ANALİZ

Bir işaretli büyüklük sayısında en soldaki basamak bir işaret içerir. Diğer basamaklarda ise sayısal değerin büyüklüğü (mutlak değeri) gösterilir.

ÇEV 2006 Mühendislik Matematiği (Sayısal Analiz) DEÜ Çevre Mühendisliği Bölümü Doç.Dr. Alper ELÇĐ

Okut. Yüksel YURTAY. İletişim : (264) Sayısal Analiz. Giriş.

SAYISAL ÇÖZÜMLEME. Yrd.Doç.Dr.Esra Tunç Görmüş. 1.Hafta

Sayı sistemleri-hesaplamalar. Sakarya Üniversitesi

SAYILAR SAYI KÜMELERİ

KAREKÖKLÜ SAYILAR. a) 15 h) 18 b) 32 ı) 49 c) 81 i) 72 d) 27 j) 36 e) 9 k) 121 f) 45 l) 256 g) 25 m) 152

SAYILAR SAYI KÜMELERİ

SAYISAL ANALİZ. 2. Hafta SAYISAL ANALİZDE HATA KAVRAMI VE HATA TÜRLERİ

Örnek...3 : Aşağıdaki ifadelerden hangileri bir dizinin genel terim i olabilir?

BÖLÜNMÜŞ FARKLAR (DİVİDED DİFFERENCES)

MAK 210 SAYISAL ANALİZ

Sayılar Teorisi SAYILAR TEORİSİ VE SAYILAR

Örnek...3 : Aşağıdaki ifadelerden hangileri bir dizinin genel terim i olabilir? Örnek...4 : Genel terimi w n. Örnek...1 : Örnek...5 : Genel terimi r n

13.Konu Reel sayılar

İleri Diferansiyel Denklemler

YÜZDE HESAPLARI. X sayısı, herhangi bir reel sayı olmak üzere, bu X sayısını 100

Fatih University- Faculty of Engineering- Electric and Electronic Dept.

Floating Point (Kayan Noktalı Sayılar)

MATEMATİK. Doç Dr Murat ODUNCUOĞLU

MAK 210 SAYISAL ANALİZ

2 Hata Hesabı. Hata Nedir? Mutlak Hata. Bağıl Hata

BLM221 MANTIK DEVRELERİ

8. SINIF MATEMATiK KAREKÖKLÜ SAYILAR

SÜREKLĠ OLASILIK DAĞILIMLARI

Temel Kavramlar 1 Doğal sayılar: N = {0, 1, 2, 3,.,n, n+1,..} kümesinin her bir elamanına doğal sayı denir ve N ile gösterilir.

Atatürk Anadolu. Temel Kavramlar Üzerine Kısa Çalışmalar

MAK 210 SAYISAL ANALİZ

RASYONEL SAYILAR. ÖRNEK: Aşağıda verilen eşitliklerde verilmeyen harflere karşılık gelen tamsayıları bulunuz. RASYONEL SAYILAR A =?

TEMEL KAVRAMLAR. SAYI KÜMELERİ 1. Doğal Sayılar

Buna göre, eşitliği yazılabilir. sayılara rasyonel sayılar denir ve Q ile gösterilir. , -, 2 2 = 1. sayıdır. 2, 3, 5 birer irrasyonel sayıdır.

T I M U R K A R A Ç AY - H AY D A R E Ş C A L C U L U S S E Ç K I N YAY I N C I L I K A N K A R A

B ol um 5 ANALOG IS ARETLER IN SPEKTRUM ANAL IZ I

DENEY FÖYÜ 1: Direnç Ölçme ve Devre Kurulma

MIT OpenCourseWare Ekonomide İstatistiksel Yöntemlere Giriş Bahar 2009

1.1 Üslü İfadeler: Üslü ifadelerle ilgili aşağıdaki kuralların hatırlanması faydalıdır.

SAYISAL ELEKTRONİK DERS NOTLARI:

DENEY FÖYÜ 7: Seri ve Paralel Rezonans Devreleri

Nedensel Modeller Y X X X

Sayı sistemleri iki ana gruba ayrılır. 1. Sabit Noktalı Sayı Sistemleri. 2. Kayan Noktalı Sayı Sistemleri

Örnek: sayısının binler basamağındaki rakamın basamak değeri ve sayı değeri arasındaki fark bulunuz.

İleri Diferansiyel Denklemler

Algoritmalar ve Programlama. DERS - 2 Yrd. Doç. Dr. Ahmet SERBES

2. SAYI SİSTEMLERİ VE KODLAR

MAT355 Kompleks Fonksiyonlar Teorisi I Hafta 2. yapılırsa bu durumda θ ya z nin esas argümenti denir ve Argz ile gösterilir. argz = Argz + 2nπ, n Z

İleri Diferansiyel Denklemler

İleri Diferansiyel Denklemler

MAK 210 SAYISAL ANALİZ

10. HAFTA DERS NOTLARI İKTİSADİ MATEMATİK MİKRO EKONOMİK YAKLAŞIM. Yazan SAYIN SAN

Mustafa Sezer PEHLİVAN. Yüksek İhtisas Üniversitesi Beslenme ve Diyetetik Bölümü

Fizikte Veri Analizi

SAYISAL ANALİZ. Doç.Dr. Cüneyt BAYILMIŞ. Sayısal Analiz. Doç.Dr. Cüneyt BAYILMIŞ

Tanım 2.1. X boş olmayan bir küme olmak üzere X den X üzerine bire-bir fonksiyona permütasyon denir.

Bir üstel fonksiyondur. Tabanı 2 dir. Bu fonksiyonun değerlerinin ne kadar hızlı arttığına dikkat edelim. f(3) = 2 3 = 8. f(10) = 2 10 = 1024

TAMSAYILAR. 9www.unkapani.com.tr. Z = {.., -3, -2, -1, 0, 1, 2, 3, } kümesinin her bir elemanına. a, b, c birer tamsayı olmak üzere, Burada,

1. BÖLÜM Mantık BÖLÜM Sayılar BÖLÜM Rasyonel Sayılar BÖLÜM I. Dereceden Denklemler ve Eşitsizlikler

Bilgisayar sayısistemi, aritmetiği ve hata

ÖĞRENME ALANI TEMEL MATEMATİK BÖLÜM TÜREV. ALT ÖĞRENME ALANLARI 1) Türev 2) Türev Uygulamaları TÜREV

Problem Çözme

1 Primitif Kökler. [Fermat ] p asal, p a a p 1 1 (mod p) a Z, a p a (mod p) [Euler] ebob(a, m) = 1, a φ(m) 1 (mod m) φ(1) := 1

FORMÜLLER VE FONKSİYONLAR

TEOG. Sayma Sayıları ve Doğal Sayılar ÇÖZÜM ÖRNEK ÇÖZÜM ÖRNEK SAYI BASAMAKLARI VE SAYILARIN ÇÖZÜMLENMESİ 1. DOĞAL SAYILAR.

MB5002 NÜMERİK ANALİZ

Projenin Adı: Metalik Oranlar ve Karmaşık Sayı Uygulamaları

Matematik Eğitimi Literatüründe Kavram Yanılgıları. Yrd. Doç. Dr. Nuray Çalışkan Dedeoğlu İlköğretim Matematik Eğitimi

1.58 arasındaki her bir değeri alabileceği için sürekli bir

Mühendislik Mekaniği Statik. Yrd.Doç.Dr. Akın Ataş

Toplama işlemi için bir ikili operatör olan artı işareti aynı zamanda tekli operatör olarak da kullanılabilir.

Programlama Dilleri 1. Ders 3: Rastgele sayı üretimi ve uygulamaları

EXCEL 2007 ELEKTRONİK ÇİZELGE

Bu tanım aralığı pozitif tam sayılar olan f(n) fonksiyonunun değişim aralığı n= 1, 2, 3,, n,

İleri Diferansiyel Denklemler

TEMEL KAVRAMLAR Test -1

ÖZEL EGE LİSESİ OKULLAR ARASI 18. MATEMATİK YARIŞMASI 6. SINIF TEST SORULARI

Sayı sistemleri iki ana gruba ayrılır. 1. Sabit Noktalı Sayı Sistemleri. 2. Kayan Noktalı Sayı Sistemleri 2. SAYI SĐSTEMLERĐ VE KODLAR

YAVAŞ DEĞİŞEN ÜNİFORM OLMAYAN AKIM

Proje Adı: Sonlu Bir Aritmetik Dizinin Terimlerinin Kuvvetleri Toplamının İndirgeme Bağıntısıyla Bulunması.

Türev Uygulamaları. 9.1 Ortalama Değer teoremi

4. Sunum: AC Kalıcı Durum Analizi. Kaynak: Temel Mühendislik Devre Analizi, J. David IRWIN-R. Mark NELMS, Nobel Akademik Yayıncılık

SAYILAR DOĞAL VE TAM SAYILAR

Floating Point (Kayan Noktalı Sayılar)

Fonksiyonlarda limiti öğrenirken değişkenlerin limitini ve sağdan-soldan limit kavramlarını öğreneceksiniz.

Kesirli Türevde Son Gelişmeler

3.3. İki Tabanlı Sayı Sisteminde Dört İşlem

Nesne Tabanlı Programlama

AYRIK YAPILAR ARŞ. GÖR. SONGÜL KARAKUŞ- FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ, ELAZIĞ

Çözüm: Çözüm: Çözüm: Elektrik Ölçme Ders Notları-Ş.Kuşdoğan&E.Kandemir Beşer 16

Köklü Sayılar ,1+ 0,1+ 1, 6= m 10 ise m kaçtır? ( 8 5 ) 2x 3. + a =? (4)

TEMEL KAVRAMLAR. a Q a ve b b. a b c 4. a b c 40. 7a 4b 3c. a b c olmak üzere a,b ve pozitif. 2x 3y 5z 84

İç-Çarpım Uzayları ÜNİTE. Amaçlar. İçindekiler. Yazar Öğr. Grv. Dr. Nevin ORHUN

SAYISAL ANALİZ. Doç. Dr. Cüneyt BAYILMIŞ. Sayısal Analiz. Doç.Dr. Cüneyt BAYILMIŞ

Konu Anlatımı Açık Uçlu Sorular Çoktan Seçmeli Sorular Doğru Yanlış Soruları Boşluk Doldurmalı Sorular Çıkmış Sorular

Örnek 4.1: Tablo 2 de verilen ham verilerin aritmetik ortalamasını hesaplayınız.

Bölüm 4 Aritmetik Devreler

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

ÜNİTE. MATEMATİK-1 Prof.Dr.Abdullah KOPUZLU İÇİNDEKİLER HEDEFLER LOGARİTMİK VE ÜSTEL FONKSİYONLARIN İKTİSADİ UYGULAMALARI

MIT Açık Ders Malzemeleri Bu materyallerden alıntı yapmak veya Kullanım Koşulları hakkında bilgi almak için

Ayrık Fourier Dönüşümü

Transkript:

Hatalar ve Bilgisayar Aritmetiği Analitik yollardan çözemediğimiz birçok matematiksel problemi sayısal yöntemlerle bilgisayarlar aracılığı ile çözmeye çalışırız. Bu şekilde Sayısal yöntemler kullanarak elde ettiğimiz sonuçlar çeşitli tipteki hatalardan etkilenmiş olabilir. Çözümdeki hatayı tespit etmek için öncelikle hatanın kaynağını teşhis etmemiz gerekmektedir. Başlıca hata kaynaklarını şu şekilde sıralayabiliriz. 1 Kullanılan Datadaki Hatalar: Fizik ve mühendislik problemlerinde deney ve ölçümlerle elde edilmiş veriler kullanılır. Deney ve ölçüm ise kullanılan malzeme ve ortamdan kaynaklanan hatalara açıktır. Bu tür hatalar elde edilen datanın da hatalı olmasına sebep olur. 2 Yuvarlama Hataları: Bazı rasyonel sayılar ve tüm irrasyonel sayılar sonsuz sayıda ondalık basamakla ifade edilirler. Fakat bu sayılar bilgisayarda temsil edilirken ancak sonlu sayıda basamak kullanılabileceğinden geriye kalan kısım yuvarlama hatalarını oluşturmaktadır. 3 Kesme Hataları: Örneğin sonsuz terime sahip bir seri ifadesini bir yaklaşım olarak kullanmak istediğimizde sonlu sayıda terimden faydalanırız. Geriye kalan terimler ise hata terimi ya da kesme hatası olarak adlandırılır. 4 İnsan kaynaklı Hatalar: Yanlış formülasyon, hatalı yazım, yanlış kodlama ve bunun gibi hatalar insan kaynaklı hatalardır. 5 Matematiksel Modellemede Basitleştirme: Gerçek hayatta karşılaştığımız problemlerin birer matematik modelini kurarak onlara çözüm üretmeye çalışırız. Kurduğumuz model her zaman birebir olmaz ve bazı basitleştirmeler içerir. İşte bu basitleştirmeler bizi gerçek çözümden biraz uzaklaştırarak hataya sebebiyet verirler.

2 tabanlı Gösterilim IEEE 754 2008 standardına göre 64 bit bir (2 tabanlı) sistemde gösterilimi reel sayıların 1 2 1 şeklindedir. Burada sayının işaretini (ilk 1 bit), karakteristik sayıyı (sonraki 11 bit), ise fraksiyon yani kesirli kısmı (son 52 bit) gösterir. Örneğin, 0 10000000011 1011100100010000000000000000000000000000000000000000 makine sayısının ilk biti 0 olduğundan 0 yani sayı pozitif, karakteristik kısım ise (10000000011) yani ondalık olarak, c = 1 2 10 + 0 2 9 + +0 2 2 + 1 2 1 + 1 2 0 = 1024 + 2 + 1 = 1027 bu durumda sayının üstel kısmı 2 1027 1023 = 2 4. Son 52 bit ise, olduğundan, 1011100100010000000000000000000000000000000000000000 Sonuç olarak, bu makine sayısı ondalık sayısını gösterir. 1 2 1 + 1 2 3 + 1 2 4 + 1 2 5 + 1 2 8 + 1 2 12 ( 1) s 2 c 1023 (1 + f ) = ( 1) 0 2 1027 1023 (1 + f ) = 27.56640625 Bununla birlikte bu sayıdan bir küçük makine sayısı 0 10000000011 1011100100001111111111111111111111111111111111111111, ve bir büyük makine sayısı ise 0 10000000011 1011100100010000000000000000000000000000000000000001. dır. Yani bu şu demektir bizim orijinal makine sayımız sadece 27.56640625 ondalık sayısını göstermekle kalmaz 27.56640625 ile bir küçük makine sayısı arasındaki sayıların yarısını ve 27.56640625 ile bir büyük makine sayısı arasındaki sayıların yarısını da gösterir. Daha açık olmak gerekirse, [27.5664062499999982236431605997495353221893310546875, 27.5664062500000017763568394002504646778106689453125)

aralığındaki tüm reel sayılar tek bir makine sayısı ile gösterilir. Bu sistemde gösterilebilecek en küçük pozitif sayı s = 0, c = 1, and f = 0 a karşı gelen 2 1022 (1 + 0) 0.22251 10 307, Sayısı ve en büyük sayı ise s = 0, c = 2046, and f = 1 2 52 a karşı gelen 2 1023 (2 2 52 ) 0.17977 10 309. sayısıdır. Yani, hesaplamalarda ortaya çıkan 2 1022 ( 1 + 0 ) dan daha küçük sayılar underflow hatası verir ve genellikle sıfır kabul edilir. Diğer taraftan 2 1023 (2 2 52 ) den daha büyük sayılar ise overflow hatası verir ve hesaplamanın durmasına sebep olur. Sıfır sayısı için iki gösterilim vardır ; s = 0, c = 0 and f = 0 veya s = 1, c = 0 and f = 0. Ondalık Makine Sayıları ve Hatalar 2 li sistemde sonlu sayıda sayının tüm reel sayıları temsil etmesi beraberinde bir takım hataları da getirmektedir. Bu durumu ondalık sistem üzerinde incelemeye çalışalım. Normalize edilmiş makine sayılarını k basamaklı ondalık sistemde 0. 10 biçiminde göstereceğiz. Burada, 1 9, 0 9, 1,2,, ve n bir tamsayıdır. Herhangi bir pozitif reel sayı normalize biçimde, 0. 10 şeklinde yazılabilir. Bu sayıyı k basamaklı bir makine sayısına çevirmenin iki türlü yolu vardır: a) Yuvarlama: 5 9 ise bir artırılır ve kesirli kısımda basamakları sayıdan atılır, yani sayı 0. 10

halini alır. bir artırıldığında diğer basamaklarda ve hatta üstel kısım n de bile değişim olabilir. Burada, 0 4 1, 5 9 olarak belirlenir. b) Kesme: Kesirli kısımda basamakları sayıdan atılır başka bir işlem yapılmaz, yani sayı halini alır. 0. 10 Örnek: π irrasyonel sayısının normalize ondalık biçimi, 0.314159265 10 dır. Bu sayıyı 5 basamaklı bir makine sayısına kesme ve yuvarlama ile çevirirsek, 0.31415 10 (kesme ile) 0.31416 10 (yuvarlama ile) Burada gösterilimi makine sayısı olduğunu belirtmek için kullanılmıştır. Her iki yaklaşımda da ortaya çıkan hatayı belirlemek için aşağıdaki tanımları kullanacağız. Tanım: Eğer, sayısına bir yaklaşımı temsil ediyorsa, ve Mutlak Hata = Bağıl Hata =, 0 olarak tanımlanır. Bağıl hata, mutlak hataya göre yaklaşımın doğruluğu hakkında daha doğru bilgi verir.

Örnek: Aşağıdaki yaklaşımlar için mutlak ve bağıl hatayı belirleyiniz. (a) p = 0.3000 10 1 and p = 0.3100 10 1 ; (b) p = 0.3000 10 3 and p = 0.3100 10 3 ; (c) p = 0.3000 10 4 and p = 0.3100 10 4. Çözüm: (a) p = 0.3000 10 1 and p = 0.3100 10 1 için mutlak hata 0.1, ve bağıl hata 0.3333 10 1 dir. (b) p = 0.3000 10 3 and p = 0.3100 10 3 için mutlak hata 0.1 10 4, ve bağıl hata 0.3333 10 1 dir. (c) p = 0.3000 10 4 and p = 0.3100 10 4 için mutlak hata 0.1 10 3, ve bağıl hata 0.3333 10 1 dir. Bu örnekte görüldüğü gibi her üç şıkta da bağıl hata 0.3333 10 1 olmasına rağmen mutlak hata oldukça farklı değerler almaktadır. Bunun sebebi bağıl hatanın sayının büyüklüğünü de gözönüne almasıdır. Dolayısıyla bağıl hata daha anlamlı sonuç vermektedir. Örnek: Farz edelim ki, x = 5/7 ve y = 1/3 olsun. 5 basamak bir sistemde kesme uygulayarak x + y, x y, x y ve x y. değerlerini hesaplayınız. Mutlak ve bağıl hataları belirleyiniz. Çözüm: Bu sayıların ondalık gösterilimi 5 7 ve 5 basamak makine gösterilimleri ise kesme ile, dır. Bu durumda 0. 714285, 1 3 0.3 0.71428 10, 0.33333 10 x + y = fl( fl(x) + fl(y) ) = fl( 0.71428 10 0 + 0.33333 10 0 ) = fl( 1.04761 10 0 ) = 0.10476 10 1. Gerçek değer ise x + y = 5/7 + 1/3 = 22/21 olduğundan,

Mutlak hata = 22/21 0.10476 10 = 0.190 10 4 ve Bağıl hata = /. / bulunur. Diğer işlemler ise benzer şekilde, 0.182 10 İşlem Sonuç Gerçek değer Mutlak hata Bağıl hata x y 0.10476 10 1 22/21 0.190 10 4 0.182 10 4 x y 0.38095 10 0 8/21 0.238 10 5 0.625 10 5 x y 0.23809 10 0 5/21 0.524 10 5 0.220 10 4 x y 0.21428 10 1 15/7 0.571 10 4 0.267 10 4 olarak bulunur. Örnek: Hata üreten en önemli işlemlerin başında birbirine yakın sayıların çıkartılması gelir. 0.54617 ve 0.54601 olsun. 4 basamak aritmetik ile sayısına yuvarlama ve kesme ile yaklaşalım. a) Yuvarlama ile: 0.5462 ve 0.5460 olduğundan diğer taraftan, olduğundan 0.5462 0.5460 0.0002 0.54617 0.54601 0.00016 bulunur. Bağıl hata =.. 0.25. b) Kesme ile: 0.5461 ve 0.5460 olduğundan ve bulunur. 0.5461 0.5460 0.0001 Bağıl hata =.. 0.375.

görüldüğü gibi çıkarma işlemi sonucunda bağıl hata oldukça büyük çıktı. Bazı hesaplamalarda işlemlerin yeniden düzenlenmesiyle yuvarlama hataları azaltılabilir. Bunu iki farklı örnekte görelim. görüldüğü gibi hesabında çok yakın iki sayı birbirinden çıkarıldığı için hata da büyük oluyor. Şimdi bu sayıyı farklı bir formülle hesaplayalım. 4 4 2 4 4 2 4 2 4 Bu durumda bağıl hata yaklaşık olarak, 2.000 0.1610 10 62.10 62.06 0.01610723 0.01610 4.5 10 0.01610723

daha küçük bulunur. Örnek: f (x) = x 3 6.1x 2 + 3.2x + 1.5 fonksiyonunu x = 4.71 değerinde 3 basamak aritmetik kullanarak hesaplayınız. x x 2 x 3 6.1x 2 3.2x Tam Değer 4.71 22.1841 104.487111 135.32301 15.072 3 basamak (kesme) 4.71 22.1 104. 134. 15.0 3 basamak (yuvarlama) 4.71 22.2 105. 135. 15.1 Yukarıdaki tablodan görüldüğü gibi, 4.71 104.487111 135.32301 15.072 1.5 14.263899 (Tam) 4.71 104. 134. 15.0 1.5 13.5 (Kesme ile) 4.71 105. 135. 15.1 1.5 13.4 (Yuvarlama ile) değerleri bulunur. Bu halde, Bağıl hata =.. 0.05 (Kesme ile). Bağıl hata =.. 0.06 (Yuvarlama ile). şeklindedir. Şimdi bu hataları azaltmaya çalışalım. Eğer fonksiyonu aşağıdaki gibi düzenlenirse, işlem sayısı azalacağı gibi hata miktarı da azalır. 4.71 bu şekilde hesaplanırsa, 6.1 3.2 1.5 Bağıl hata =.. 0.0045 (Kesme ile). Bağıl hata =.. 0.0025 (Yuvarlama ile). olarak bulunur. Yani hatada ciddi miktarda azalma olduğu gözlemleniyor.