FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ

Slides:



Advertisements
Benzer bir sunumlar
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
Advertisements

FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
Bilgisayar Bilimlerine Giriş-2
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
Fonksiyonlar.
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
PHP-MySQL ile Profesyonel Web Programlama
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
Programlama-II (Java ile Bilgisayar Programlama)
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
MATEMATİK.
4.1. Grafik Yöntemleri 4.2. Kapalı Yöntemler 4.3. Açık Yöntemler
MATLAB’İN SAYI YUVARLAMA FONKSİYONLARI
MIT503 Veri Yapıları ve algoritmalar Algoritmalara giriş
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
Soru1: kuvvet(taban,us) Şeklinde bir yinelenen fonksiyon yazın
YMT 222 SAYISAL ANALİZ (Bölüm 2b)
SAYI SİSTEMLERİ.
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ DERLEYENLER: Ahmet Can ÇAKIL Ali Murat GARİPCAN Özgür AYDIN Şahin KARA KONTROL : Prof. Dr. Asaf VAROL KONU : KAPSÜLLEME.
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ DERLEYENLER: Ahmet Can ÇAKIL Ali Murat GARİPCAN Özgür AYDIN Şahin KARA KONTROL : Prof. Dr. Asaf VAROL KONU : LİSTELERE.
EXCEL FORMÜLLER&FONKSİYONLAR
YMT 222 SAYISAL ANALİZ (Bölüm 1)
Abdulkerim Karabiber Ozan Gül
Bölüm 4: Sayısal İntegral
Nesneye Dayalı Programlama
Ses Kontrol Metodlar ile ilgili son birkaç söz Tekrar: Programlama için başlıca 3 model.
MATEMATİK DÖNEM ÖDEVİ.
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
İLKÖĞRETİM MATEMATİK 7.SINIF
Yıldız Teknik Üniversitesi Makina Mühendisliği Bölümü
BM-103 Programlamaya Giriş Güz 2014 (4. Sunu)
Java.lang.math.
Gerçel Sayılar.
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 8.  Tamsayı Değerler (Integer) Tamsayılar, 10 tabanlı (decimal), 8 tabanlı (octal) veya 16 tabanlı (hexadecimal)
NEWTON-RAPHSON YÖNTEMİ
Elif ÇAĞLAYAN Humayla ÖNDER Gamze Nur AYDIN Gülfer YÜKSEKDAĞ
Java.lang.math
Örnek Adam asmaca oyununun programının yazılması.
İLKÖĞRETİM MATEMATİK 8.SINIF
ÜSLÜ SAYILAR.
Sayı Sistemleri Geçen Hafta Analog ve Sayısal Büyüklük Kavramı
ANALOG-SAYISAL BÜYÜKLÜK VE SAYI SİSTEMLERİ
Değişkenler Programda Değişken Tanımlama. Değişken nedir? (Variables) Program içinde kullanılan veri(data)nin tutulduğu alanın adıdır. Her veri bir tür.
Ondalık kesirler matematİk.
Lineer Olmayan Denklem Sistemlerinin Çözüm Yöntemleri
Lineer Olmayan Denklem Sistemlerinin Çözüm Yöntemleri
VERİ TİPLERİ BYTE:0-255 ARASI TAMSAYI (1 BYTE)
TAM SAYILARIN KUVVETİ.
VERİ ve BELLEK & DEĞİŞKENLERİN SAKLANMASI Asst.Prof.Dr.Misket YEKTAY Gizem AYIK.
Bölüm10 İteratif İyileştirme Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Mekatronik Mühendisliği
Programlamaya Giriş-I Bölüm-1. Algoritma Algoritma günlük yaşamımızda yaptığımız işler sırasında sıklıkla kullandığımız bir yöntemdir. Algoritma, bir.
KAREKÖKLÜ SAYILAR.
Bilgisayar Programlamasına ve Veri Analizine Giriş - IV
Presentation and Explaing Method 8.Sınıf
Programlama Dillerinin Temel Elemanları
KAREKÖKLÜ SAYILAR YUNUS AKKUŞ 2017.
Sayı Sistemleri.
MATEMATIKSEL IŞLEMLER
TAM SAYILAR.
KAREKÖKLÜ SAYILAR Sunuindir.blogspot.com. Tanım: denkleminde elde edilen x’ e a’ nın n’ inci dereceden kökü denir.
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
BLM-111 PROGRAMLAMA DİLLERİ I Ders-2 Değişken Kavramı ve Temel Operatörler Yrd. Doç. Dr. Ümit ATİLA
Bilgisayar Programlamasına ve Veri Analizine Giriş
Bilgisayar Mühendisliğine Giriş
4. HAFTA.
Sunum transkripti:

FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ KONU : KAYAN NOKTALI SAYILAR, ARDIŞIK MÜKEMMELLEŞTİRME VE KÖK BULMA DERLEYENLER: Ahmet Can ÇAKIL Ali Murat GARİPCAN Özgür AYDIN Şahin KARA KONTROL : Prof. Dr. Asaf VAROL

PYTHON’DA SAYI TİPLERİ Python’da temel olarak iki farklı sayı tipi vardır: 1. Tamsayılar (Integers) 2. Ondalık Sayılar (Floats)

Tamsayılar, ondalık bir kısım içermeyen sayılardır Tamsayılar, ondalık bir kısım içermeyen sayılardır. Mesela “5”, “20”, “17” gibi sayılara tamsayı adı verilir. Pyton’da tamsayılar(integer) üsleri alınarak büyük sayılara çevrilebilirler. Örneğin 2 üssü 1000 ile long integer bir sayı elde edilebilir Ondalık sayılar ise, içinde ondalık bir kısım barındıran sayılardır. Mesela, “12.7”, “5.4”, “56.8”,“0.5” gibi sayılar ondalık sayılardır.

Python her modern programlama dili gibi float sayılar için IEEE754 kayan nokta aritmetiği standardını kullanır. Tipik olarak sayılar mantis ve üs formunda gösterilir. Kayan noktalı sayılar da mantis ve üs çiftiyle gösterilir.Bilgisayar binary sistemde çalıştığı için sayılar ikinin üssü şeklinde ifade edilirler.

Kök Bulma Karekök hesaplamak için Sqrt() fonksiyonu kullanılır.Bu fonksiyonu kullanabilmek için math modülünü import ile içe aktarmak gerekir. Örneğin a değişkenine 2’nin karekök değerini atayıp a’nın değerini görelim.

Not a, 2 sayısının karekökü olduğuna göre a*a=2 olmalıdır diyebiliriz. Ancak görüyoruz ki a*a =2 için false (yanlış) çıktı. Ve a*a az da olsa farklı çıktı. Bunun nedeni:

Kayan noktalı sayılar ikili(binary) tabana dönüştürülürken ikinin üssü olarak tam dönüşmeyen sayılar sonsuz bir küsürat oluşturur.örneğin sayısı 10 tabanında , 2 tabanında olarak yazılır.

Python bunu önlemek için 17 basamağa kadar Ancak sayısı (onluk sistem) İkili sistemde =000110011000.... devirli gider Python bunu önlemek için 17 basamağa kadar yuvarlayıp indirger. Dolayısiyle karekök 2’nin değerini kendisiyle çarpınca tam olarak 2 çıkmaz, yaklaşık değeri: (2,0000000000000004 ) çıkar.

ARDIŞIK YAKLAŞIM METODU: Ardışık yaklaşımda x değeri için bir başlangıç değeri tahmin edilir ve bu değer f(x) fonksiyonunda yerine konur. Buradan bulunan x değeri tekrar f(x) fonksiyonun yerine konur. f(x) fonksiyonunda yerine konulan x değeri ile elde edilen x değeri arasındaki fark daha önceden sınır olarak verilen bir değerden küçük ise denklemin kökü en son elde edilen x değeridir ve iterasyon durur (Bu arada en büyük iterasyon sayısına erişilmemiş ise).

Bisection Method(İkiye bölme metodu) Kök-bulma Algoritması verilen bir fonksiyonda fonksiyonun değerini sıfır yapacak bir ''x'' değerini bulmaya yarayan bir nümerik metod ya da algoritmadır (öyle bir ''x'' bul ki ''f''(''x'') = 0 olsun). Böyle bir ''x'' değerine fonksiyonun kökü denir. En basit kök-bulma algoritması ikiye bölme metodudur. Yalnızca ''f'' sürekli fonksiyon|sürekli fonksiyonsa uygulanabilir. Ayrıca iki ilk tahmine ihtiyacı vardır. Bu ilk tahminler ''a'' ve ''b'' öyle değerler olmalıdırlarki; ''f''(''a'') ve ''f''(''b'')'nin birbirine zıt işaretli olmalıdır.                 

Bir örnek çözelim. Örn: y = f(x) = x3 - x -1 = 0 fonksiyonunun [1,2] aralığındaki kökünü bisection method ile bulunuz. 1.Adım: f(1) = 13 -1 -1 = -1 f(2) = 23 -2 - 1 = 5 c =( 1 + 2 ) /2 = 1.5 f(c) = 1.53 - 1.5 - 1 = 0.875000 f(1)*f(1.5) ters işaretli.Yeni aralık [1,1.5] 2.Adım: f(1) = -1 f(1.5) = 0.87500 c = (1 + 1.5)/2 = 1.25 f(c) = f(1.25) = 1.253 - 1.25 - 1 =-0.29688 f(1.25) ve f(1.5) ters işaretli.Yeni aralık [1.25,1.5]

SağSınır SolSınır 1.00000 2.00000 1.00000 1.50000 1.25000 1.50000 * * * * * * 1.324717 1.324718 20. adımda karşımıza gelen sonuç.

Örnek program def squareRootBi(x, epsilon): """"Assume y>=0 and epsilon>0 Return y s.t. y*y is within epsilon of x""" assert epsilon > 0, 'epsilon must be postive, not' + str(epsilon) low = 0 high = max(x, 1) guess = (low + high)/2.0 ctr = 1 while abs(guess**2 - x) > epsilon and ctr <= 100: #print 'low:', low, 'high:', high, 'guess:', guess if guess**2 < x: low = guess else: high = guess ctr += 1 assert ctr <= 100, 'Iteration count exceeded' print 'Bi method. Num. iterations:', ctr, 'Estimate:', guess return guess

Programı Çıktısı

KAYNAKÇA MIT OpenCourseWare http://ocw.mit.edu 6.00 Introduction to Computer Science and Programming, Fall 2008 http://wiki.pardus-linux.org/index.php/Python http://www.python.quotaless.com/