Sayısal Kalem (Digital Pen) ile GerçekleĢtirilen Çizimlerde GiriĢ Verisindeki Hataların Azaltılması

Benzer belgeler
Sayısal Kalem (Digital Pen) ile Gerçekleştirilen Çizimlerde Giriş Verisindeki Hataların Azaltılması

MAK 210 SAYISAL ANALİZ

Regresyon ve İnterpolasyon. Rıdvan YAKUT

MAK 210 SAYISAL ANALİZ

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

HATA VE HATA KAYNAKLARI...

FEN FAKÜLTESİ MATEMATİK BÖLÜMÜ YAZ OKULU DERS İÇERİĞİ. (Mühendislik Fakültesi Bütün Bölümler, Fen Fakültesi Kimya ve Astronomi Bölümleri)

Yrd. Doç. Dr. A. Burak İNNER

ALGORİTMA İ VE PROGRAMLAMA

MAK 210 SAYISAL ANALİZ

BİRİNCİ BÖLÜM SAYILAR

MAK 210 SAYISAL ANALİZ

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

11. HAFTA BLM323 SAYISAL ANALİZ. Okt. Yasin ORTAKCI.

Türev Kavramı ÜNİTE. Amaçlar. İçindekiler. Yazar Prof.Dr. Vakıf CAFEROV

Demodülasyon Algoritmaları İçin En İyilenmiş Windows İşletim Sistemi Uygulamaları

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

12. HAFTA BLM323 SAYISAL ANALİZ. Okt. Yasin ORTAKCI.

4. HAFTA BLM323 SAYISAL ANALİZ. Okt. Yasin ORTAKCI.

Yrd. Doç. Dr. A. Burak İNNER

Hatalar ve Bilgisayar Aritmetiği

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

MAK 210 SAYISAL ANALİZ

ISBN NUMARASI: ISBN NUMARASI: ISBN NUMARASI: ISBN NUMARASI:

Cinsiyet Eşitliği MALTA, PORTEKİZ VE TÜRKİYE DE İSTİHDAM ALANINDA CİNSİYET EŞİTLİĞİ İLE İLGİLİ GÖSTERGELER. Avrupa Birliği

Mühendislikte Sayısal Çözüm Yöntemleri NÜMERİK ANALİZ. Prof. Dr. İbrahim UZUN

SAYISAL ÇÖZÜMLEME Yrd. Doç. Dr. Adnan SONDAŞ Sayısal Çözümleme

MAK 210 SAYISAL ANALİZ

Şekil 7.1 Bir tankta sıvı birikimi

Kesirler ve İşlemler Ondalık Kesirler ve İşlemler, Yüzdeler, Oran. Yrd. Doç. Dr. Nuray Çalışkan-Dedeoğlu Matematik Eğitimi

KORELASYON VE TEKLİ REGRESYON ANALİZİ-EN KÜÇÜK KARELER YÖNTEMİ

Bölüm 2 Algoritmalar. 2.1 Giriş

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

YER DEĞİŞTİRME VE DEĞER DÖNÜŞTÜRME ÖZELLİĞİNE SAHİP GÖRÜNTÜ ŞİFRELEME ALGORİTMALARININ ANALİZİ

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

12. HAFTA BLM323 SAYISAL ANALİZ. Okt. Yasin ORTAKCI.

EĞİLİM YÜZDELERİ (Trend) ANALİZİ

Tek Değişkenli Optimizasyon OPTİMİZASYON. Gradient Tabanlı Yöntemler. Bisection (İkiye Bölme) Yöntemi

Jeodezide Yaklaşım Yöntemleri: Enterpolasyon ve Kollokasyon

Nicel araştırmalar altında yer alan deneysel olmayan araştırmaların bir alt sınıfında yer alır. Nedensel karşılaştırma, ortaya çıkmış ya da daha

BOSSA DIŞ GİYİM İŞLETMESİNDE FASON İPLİK İMALATI TERMİN SÜRELERİNE ALTI SIGMA ARAÇLARI İLE İSTATİSTİKSEL YAKLAŞIM

Bölüm 7. İfadeler ve atamalar ISBN

1. Hafta SAYISAL ANALİZE GİRİŞ

ULUDAĞ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MAKİNE MÜHENDİSLİĞİ BÖLÜMÜ

Matematiksel İktisat-I Ders-1 Giriş

Madde 2. KTÜ de not değerlendirilmesinde bağıl değerlendirme sistemi (BDS ) ve mutlak değerlendirme sistemi (MDS ) kullanılmaktadır.

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

NESNEYE DAYALI PROGRAMLAMA VE C++

Mesleki Terminoloji. Sayısal Analiz DERSİ VEREN: ARŞ. GRV. DR. GÖKSEL BİRİCİK MEHMET EMRE ÖNDER DOĞAÇ CEM İŞOĞLU

Ders 2: Su Miktarı Hesabı. Su temin şeması tasarımında kentsel kullanım amaçlı su miktarının hesaplanması için aşağıdaki veriler gereklidir:

TAM SAYILARLA İŞLEMLER

EKİM twitter.com/perspektifsa

Emisyon Ölçümlerinin Planlanması

HOMOGEN OLMAYAN DENKLEMLER

4.2. SAYISAL MANTIK SEVİYELERİ VE DALGA FORMLARI

DİCLE ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ EEM309 SAYISAL ELEKTRONİK LABORATUARI

ELE 201L DEVRE ANALİZİ LABORATUVARI

KTO KARATAY ÜNİVERSİTESİ Temel Bilgisayar 2. Hazırlayan : Erdem YAVUZ

İleri Diferansiyel Denklemler

RCRCR KAVRAMA MEKANİZMASININ KİNEMATİK ANALİZİ Koray KAVLAK Selçuk Üniversitesi, Mühendislik-Mimarlık Fakültesi, Makine Mühendisliği Bölümü, KONYA

Massachusetts Teknoloji Enstitüsü - Fizik Bölümü

Volkan Karamehmetoğlu

Nicel veri toplama araçlarından anket, test ve ölçek kavramlarının birbiri yerine kullanıldığı görülmektedir. Bu 3ü farklı araçlardır.

EĞİTİM ÖĞRETİM YILI 8. SINIF MATEMATİK DERSİ KAZANIMLARININ ÇALIŞMA TAKVİMİNE GÖRE DAĞILIM ÇİZELGESİ

SAYILAR TEORİSİ - PROBLEMLER

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

Bir ölçümün sonucu, istenilen anlamlı rakam sayısından daha fazla sayıda rakam 1,24 6,26 87,4 76,2

ODTÜ Bilgisayar Mühendisliği. Tanıtım Günleri Temmuz 2005

AKIM GEÇEN TELE ETKİYEN MANYETİK KUVVETLERİN ÖLÇÜMÜ (AKIM TERAZİSİ)

matematik sayısal akıl yürütme mantıksal akıl yürütme

Onlu Sayılandırmadan Dönüştürme

BÖLÜM 11 Z DAĞILIMI. Şekil 1. Z Dağılımı

Kısmen insan davranışlarını veya sezgilerini gösteren, akılcı yargıya varabilen, beklenmedik durumları önceden sezerek ona göre davranabilen bir

III İÇİNDEKİLER ÜNİTE 1 ÜNİTE 2 ÜNİTE 3 FRAKTALLAR 2 YANSIYAN VE DÖNEN ŞEKİLLER 6 HİSTOGRAM 10 ÜSLÜ SAYILAR 14 ÜSLÜ SAYILARLA ÇARPMA İŞLEMİ 18

Unlike analytical solutions, numerical methods have an error range. In addition to this

Online teknik sayfa GME700 EKSTRAKTIF GAZ ANALIZ CIHAZLARI

+ 1. ) transfer edilir. Seri. Isı T h T c sıcaklık farkı nedeniyle üç direnç boyunca ( dirençler için Q ısı transfer miktarı aşağıdaki gibidir.

Kentsel Hava Kirliliği Riski için Enverziyon Tahmini

Bilimsel bir Bildiri veya Makale Nasıl Yazılır ve Yayımlanır?

Üstel modeli, iki tarafın doğal logaritması alınarak aşağıdaki gibi yazılabilir.

STATİK-MUKAVEMET. Doç. Dr. NURHAYAT DEĞİRMENCİ

MATEMATİK DERSİNİN İLKÖĞRETİM PROGRAMLARI VE LİSELERE GİRİŞ SINAVLARI AÇISINDAN DEĞERLENDİRİLMESİ

İstatistik Yöntemleri ve Hipotez Testleri

MALZEME BİLGİSİ. Atomların Yapısı

DİKİMDE HATA OLUŞTURAN NEDENLERİN BELİRLENMESİNE YÖNELİK İSTATİSTİKSEL BİR ARAŞTIRMA

MAT223 AYRIK MATEMATİK

MALZEME BİLİMİ VE MÜHENDİSLİĞİ. Malzeme Üretim Laboratuarı I Deney Föyü NİCEL (KANTİTATİF) METALOGRAFİ. DENEYİN ADI: Nicel (Kantitatif) Metalografi

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.

İM 205-İnşaat Mühendisleri için MATLAB. Irfan Turk Fatih Üniversitesi,

ÖRME MESLEK HESAPLARI DERSİ (DÜZ ÖRME / YUVARLAK ÖRME)

Proses Örnekleme Yöntemleri

İnönü Üniversitesi Mühendislik Fakültesi Maden Mühendisliği Bölümü 321 Cevher Hazırlama Laboratuvarı I HİDROSİKLON İLE SINIFLANDIRMA

Yrd. Doç. Dr. A. Burak İNNER

DERS 1. ki De i kenli Do rusal Denklem Sistemleri ve Matrisler

1. ÜNİTE TAM SAYILAR KONULAR 1. SAYILAR

T.C. Ölçme, Seçme ve Yerleştirme Merkezi

İSTATİSTİK-II. Korelasyon ve Regresyon

8. SINIF KONU : ÜSLÜ SAYILAR

Transkript:

Sayısal Kalem (Digital Pen) ile GerçekleĢtirilen Çizimlerde GiriĢ Verisindeki Hataların Azaltılması Alperen KETHUDAOĞLU 1, Baha ġen 2 1 Karabük Üniversitesi, Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği Anabilim Dalı, Bilgisayar Mühendisliği Yüksek Lisans Programı, Karabük 2 Karabük Üniversitesi, Bilgisayar Mühendisliği Bölümü, Karabük kethuda37@hotmail.com, baha.sen@karabuk.edu.tr Özet: Bu çalışma, dijital tablet ve pen aracılığı ile şekil çiziminde meydana gelen baskı noktaları arasındaki giriş verisi hatalarının çözümünü tanımlamaktadır. Pen ve dijital tablet aracılığıyla bilgisayara veri girişi sırasında, donanımsal sebepler nedeniyle istenilen sıklık ve uzaklıkta baskı noktaları alınamamaktadır. Bu hataları en düşük seviyeye indirmek ve şekilleri en hassas şekilde göstermek için interpolasyon teknikleri kullanılmıştır. Çalışmada, eğimlere göre en uygun interpolasyon tekniğinin bulunması ve noktalar arasındaki boşlukları dolduran en uygun interpolasyon tekniğini seçen bir fonksiyon geliştirilmesi amaçlanmaktadır. Anahtar Sözcükler: Dijital tablet, Pen, Interpolasyon, Giriş Verisi Hatası Reduction of the ınput data errors on the drawings which are actualised with digital pen: one application Abstract: This survey describes how is solve that occure error of the input data that among the stokes when draw to shape with dijital tablet and pen device. While input data to computer with pen and digital tablet, strokes can not record how is wanted frequnce and distance. It is used the technique of interpolation for minimizing that errors and showing the shapes how the most sensitive. In this paper, it is aimed that to optimize interpolation technique and to develope the algorithm that is choose the optimal interpolation technique for filling the blanks of among the strokes. Keywords: Digital Tablet, Pen, Interpolation, Input Data Error. 1

1. GiriĢ 1960 lı yıllardan günümüze dijital tablet ve bilgisayar teknolojisindeki gelişme ile birlikte, online figür tanıma, aktif bir araştırma alanı haline gelmiştir [1]. İnsanların bilgisayara veri girmenin daha doğal bir yolu olan pen aracını kullanma eğilimi ve diğer tekniklerin interaktif olamaması bu gelişmeleri tetiklemiştir. Online figür tanıma, figürlerin dijital tablet, pen vs. aracılığı ile gerçek zamanlı olarak bilgisayara aktarılması ve tanımlanmasıdır. Online tanımada giriş verilerine ait nokta, nokta sırası, yazma hızı, baskı vb. değerler eşanlı olarak bilgisayara aktarılmaktadır. Offline figür tanımada ise, yazma işlemi daha önceden tamamlanmıştır. Tarayıcı aracılığı ile bu figürler tarandıktan sonra tanıma işlemine geçilmektedir. Online figür tanımada, birtakım donanımsal sebeplerden kaynaklı giriş verisi hataları oluşabilmektedir. Pen aracılığı ile online figür çiziminde gerçek zamanlı tutulan x,y ve z (basınç) koordinat bilgileri istenilen sıklıkla alınamamaktadır. Bu eksikliklerin giderilmesi için interpolasyon tekniklerine başvurulmaktadır [2]. Bu çalışmada çeşitli fonksiyonlarla çizilen gerçek eğriler ile bunlardan nokta eksiltmeleri ile oluşan eksik eğrileri, farklı interpolasyon teknikleri ile doldurulmuş; bağıl ve mutlak hata araştırması yapılarak en uygun seçim veya seçimler irdelenmiştir. Çizim esnasında daha önce belirlenen sonuçlara göre en doğru interpolasyon tekniğini seçen basit bir algoritma geliştirilmiştir. 2. Ġnterpolasyon Bir fonksiyonun xi(i=0, 1,2 n) noktalarında bilinen fi(i=0, 1, 2 n) değerlerinden hareketle herhangi bir x ara noktasında bilinmeyen f(x) bulunması anlamına gelen interpolasyon teknikleri aynı zamanda sayısal türev ve integrasyon, adi ve kısmı türevli diferansiyel denklemlerin sayısal çözümü gibi başka sayısal yöntemlerin de temelini teşkil eder. İnterpolasyon polinomları genellikle mevcut (x 1, f i ) veri noktalarına eğri veya eğriler uydurulması yolu ile uygulanmaktadır. Bu amaçla kullanılan fonksiyonlara interpolasyon fonksiyonları denir [3]. İnterpolasyon fonksiyonları olarak çoğu zaman çeşitli mertebeden polinomlar kullanılmaktadır. Ancak bazı hallerde logaritmik, ekponansiyel, hiperbolik gibi daha özel fonksiyonlar ile periyodik veri değerleri için trigonometrik fonksiyonlar da kullanılmaktadır. Veri noktaları eşit aralıklı olarak dağılmışsa sonlu farklı esaslı interpolasyon yöntemleri, eşit aralıklı değilse Lineer interpolasyon, İkinci Dereceden (Kuadratik) İnterpolasyon, Newton - Gregory Polinomları, Lagrange İnterpolasyon, Parça Parça (Spline) İnterpolasyon vb. yöntemler uygulanmaktadır. 2.1 Lineer İnterpolasyon Bir f(x) fonksiyonunun xk, xk+1 gibi farklı iki noktadaki değeri biliniyorsa, bu durumda x [xk,xk+1] noktasındaki değerinin hesaplanması bu iki noktadan geçen birinci dereceden bir polinom yardımıyla 2

yapılabilmektedir [4]. Lineer interpolasyon aşağıdaki formül ile ifade edilmektedir: formundadır[3]. Bu genel ifade daha kısa olarak; 2.2 Ġkinci Dereceden (Kuadratik) Ġnterpolasyon f(x) fonksiyonunun (x 0, y 0 ), (x 1, y 1 ) ve (x 2, y 2 ) gibi 3 noktası belli ise [x 0, x 2 ] aralığındaki herhangi bir x noktasındaki fonksiyonun değeri, bu üç noktadan geçen parabole eşdeğer yaklaşım polinomu seçilerek bulunmaktadır.[4] Kuadratik interpolasyon aşağıdaki formül ile ifade edilmektedir. şeklinde yazılabilir. Burada çarpım terimini göstermektedir. 2.5 Parça Parça (Spline)Ġnterpolasyon 2.3 Newton - Gregory Polinomları Kuadratik interpolasyon hesaplarken kullanılan yöntemde mertebe arttırılarak, daha yüksek mertebeli polinomlar elde edilebilmektedir. 2.4 Lagrange Ġnterpolasyonu Eşit aralıklı olmayan n adet (x i,y i ) noktalarından (i=1,2,3,... n) geçen (n-1). Dereceden Langrange interpolasyon polinomu; İnterpolasyon polinomlarının derecesi arttıkça, uzun ve karmaşık hale gelmekte, noktalar arasında gerçek eğriden büyük oranda sapmalar olmaktadır. Bunun nedenleri, bulunan polinomun noktalarda fonksiyonun eğimleri hakkında bilgi içermemesi, derece arttıkça kötü şartlanmış denklem sistemlerinin oluşması ve yuvarlama hatalarıdır. Gerçek fonksiyona en uygun, yuvarlama hataları az, bütün noktaları kullanılan ama derecesi düşük interpolasyon polinomları kullanılması daha uygundur. Bu şekilde noktalar gruplandırılarak interpolasyon tekniklerinin uygulanmasına Spline İnterpolasyon denir. Spline interpolasyonu çeşitli 2 boyutlu ve 3 boyutlu bilgisayar animasyonlarında sıklıkla kullanılmaktadır.[5] 3

3. HATA Bir denklem veya problemin çözümünde kullanılan sayısal yöntem belli bir giriş verisini işleme tabi tutarak çözüme ulaşır. Sayısal yöntemler, analitik çözümlerden farklı olarak sayıları kullanarak işlem yapar ve belli bir hata payı içerir. Giriş verisi belirli deneyler, gözlemler veya hesaplamalar sonucu bulunuyorsa işlemlerin hassasiyetine göre belli bir hata payı içerecektir. Giriş verisinin ve kullanılan yöntemin hata içermesi, bulunacak sonuçların da belli bir hata içereceğini, yani sonuçların kesin değil yaklaşık değerler olacağını göstermektedir. Mutlak Hata (Absolute Error) Gerçek değer (x r ) ile hesaplama sonucu bulunan yaklaşık değer (x n ) arasındaki farka e n = x r - x n mutlak hata denilmektedir. Bağıl (izafi) Hata (Relative Error) Daha anlamlı olması açısından hatanın mutlak olarak değil gerçek değere göre büyüklüğünün bilinmesi gerekir. Mutlak hatanın gerçek değere oranı bağıl hatayı vermektedir. 3.1 Hata Kaynakları 3.1.1. GiriĢ Verisi Hatası Hata Hata Hata Şekil 1: Sayısal çözümün blok şeması ve hata etkileşimi. Hatalar, sonuç üzerinde ve yöntemin geçerliliği üzerinde oldukça etkilidir. Sonuçların hata içermesinden ziyade bu hatanın kabul edilebilir tolerans değerleri sınırları içerisinde olması önemlidir. Hata esas olarak gerçek değer ile hesaplanan yaklaşık değer arasındaki farktır. Bu şekilde tanımladığımız hata iki şekilde ifade edilmektedir [6]. Ölçülen veri ile gerçek veri arasındaki farka giriş verisindeki hata denmektedir. Ölçü aletinin doğruluk ve hassasiyeti bilinmeli, gerekli tedbirler alınmalıdır. 3.1.2. Yuvarlama Hatası Hesaplarda rakamların hane sayısının sonlu tutulmasından kaynaklanan hataya yuvarlama hatası(round-off error) denmektedir.[3] Bilgisayarlı hesaplamalarda ard arda yapılan hesaplamalar oluşan hatayı taşır, bu şekilde hata birikerek büyüyebilmekte ve sonuçta önemli değişikliklere sebebiyet verebilmektedir. Hesaplamalar süresince eğer hata azalıyorsa kullanılan yöntem kararlı, hata büyüyorsa kararsız dır. 4

3.1.3. Kesme Hatası Seriler çok veya sonsuz sayıda terimden oluşur. Serinin belirli bir sayıda terimini alıp diğer terimlerin atılmasından bir miktar hata oluşur. Bu hataya kesme hatası (truncation error) denir. Bu hatanın başka bir sebebi de iterasyon sayısının sınırlı tutulmasıdır. 3.1.4. Ġnsan Hatası İnsanın kendisinden kaynaklanan hatalardır. Fiziksel veya matematiksel modelin oluşturulmasında, işlem yaparken veya program yazarken yapabileceği hatalardır. 3.1.5. Binary Aritmetiğin Kötü Sonuçları ve Bunları En Aza Ġndirme Floating-point hesaplamalarında bilgisayar temelde ikili (binary) olarak çalışmaktadır [7]. Ondalık kesirler 0.1 gibi aslında tam olarak 2 li sistemde tanımlanamaz. Bu 0,00011001100110 gibi 2 li sistemde tekrarlayan kesir onluk sistemdeki 1/3=0,3333 gibi bir kesre benzer. Eğer 0.33.. ve 0.66 gibi iki sayı toplanırsa 1 den ziyade 0.99.. sayısı elde edilir. Oysa 1/3 ile 2/3 toplandığında 1 sayısı elde edilir. Floating-point hesaplamalarında Java, ANSI/IEEE Std 754-1985 (ANSI/IEEE Std 754-1985, An American National Standard IEEE Standard for Binary Floating- Point Arithmetic) standartlarına göre işlem yapar. Floating-point hesaplamalarında Java da bazen 0,1 ile 0.1 toplandığında 0.2 den farklı sonuçlar almak mümkündür. Benzer hesaplamalarda da buna rastlanılmaktadır. İkili sistemde 0,1 gibi bir kesri Java nın mükemmel olarak yapamaması bir hatadır. Yeni insan-yaklaşımlı java alt yapısı kullanılarak yazılan bir programlama dili olan Netrexx in [8] yaratıcısı Mike Cowlishaw, floating-point hatası için bilgisayar donanımı yapıcılarını suçlamıştır. O, bilgisayar chiplerinin insanlar gibi 10 luk sistemde hesaplama yapmasını önerir. 1/3 kesri aynı zamanda ikili sistemde 0.01110011.. gibi bir tekrar edici değer olması sebebiyle Java da (ve diğer benzer dillerde) 10 luk aritmetik işlemlerde kullanılması çok uygun olmayacaktır. Bu yapısal hatalardan kurtulmak için şu yöntemler denenebilir; Approximate Comparison (KarĢılaĢtırma YaklaĢımı) if ( f = = 100.00 ) yerine if( f > 99.995 ) Equality Testing (EĢitlik Testi) if ( Math.abs( value - target ) < epsilon ) veya ; if ( value >= target - epsilon && value <= target + epsilon ) Bilinmeyen büyüklükler sunulduğunda, daha yavaş çalışan şu kod kullanılabilir, if( Math.abs( value - target< epsilon *target ) veya; 5

if( value >= target * ( 1 - epsilon ) && value <= target * ( 1+ epsilon ) ) Loop (Döngü) Döngülerde int ve float/double karışımları kullanıma uygundur. Floating-point artırımlar yerine int ve float karışık artırımlar kullanılmalıdır. Şöyle ki; f+=0.001f ; yerine f+=i*0.001f; Double and Float Float yerine Double kullanılmalıdır. Bu işlem problemi tam olarak çözmez. Fakat hassasiyet arttırılarak taşmalar bir nebze olsa önlenebilir. Perfect Accurracy ( Veri Tipleri ) Tam çözüme ulaşmak için int, long, BigDecimal ve BigInteger kullanılmalıdır. Currency tipleri floating-point para değerlerinin tutmanın en iyi yoludur. Java programlama dilinde böyle bir veri tipi bulunmamaktadır. Binary Formats Float-double sayı binary formata çevirip o şekilde eşitlik karşılaştırması yapılabilir. Nitekim Java saklı yordamlarından biri olan Float.compare() fonksiyonunun orijinal tanımı Şekil 2 de belirtildiği gibidir; 6 ġekil 2 ) Java Float.compare() fonksiyonu 3.2. Makine Epsilonu Eşit aralıklı olmayan interpolasyon hesabı yaparken aralık indisleri eşit olduğunda yani aynı y=f(x) noktası işaret edildiğinde formül gereği 0 bölme hatası ile karşılaşılabilmektedir. Şöyle ki; y i =f(x i ) == y i+1 =f(x i+1 ) Lagrange interpolasyon formülünde indis numaralarını bulmak için bir sonraki değer ile eldeki değer arasındaki farkı indis numarası olarak kabul edilmiştir. İki değerin eşit çıkması durumunda indis değeri aynı olucak ve formül gereği 0 bölme hatası ile karşılaşılacaktır. Bunu önlemek ve interpolasyon hesabında ara nokta bulunurken eşit değerli noktaların 0 indis numaralarının etkisini en hassas şekilde almak için Şekil 3 de belirtilen makine epsilon değerini bulan formül ile makine

epsilonu bulunmuş ve indis numarası epsilon değeri kadar arttırılmıştır. Aynı şekilde bu, bizim aritmatik işlemlerimizde hata düzeltme tekniği olarak kullanacağımız epsilon değeridir [8]. 3.3. Aritmetik ĠĢlemlerde Hataların Etkisi Hatalar yayılıp büyüyerek sonuçların anlamsız hale gelmesine sebep olabilir. Bu durumu incelemek için, x r ve y r gibi iki gerçek sayı ile yapılan basit aritmetik işlemlerde hataların etkisi irdelenecektir. Bu sayıların bilgisayarda gösterimi ile oluşan yuvarlama hataları sırası ile e x ve e y, sayılarının bilgisayarda gösterimi x ve y denilirse; e x =x r x, e y = y r - y yazılabilir. Bu iki sayının bilgisayarda toplanması; sonucunda oluşan hata, x+y=(x r +e x )+(y r +e y ) e + =(x r +y r ) (x+y)=e x +e y olacaktır. Benzer şekilde çıkarma işleminde hata, e - =e x -e y çarpma işleminde oluşan hata, e * =ye x +xe y +e x e y ve bölme işleminde hata da; olarak elde edilir. e + =(ye x -xe y )/y(y+e y ) Bu sayıların nasıl etkilediğini basitçe şu şekilde sıralayabiliriz. ġekil 3) Java makine epsilonu değeri hesabı Bölme işleminde bulunan hata bölen arttıkça azalmaktadır. Birbirine çok yakın olan iki sayının çıkarılması işleminde bağıl (izafi) hata büyük olabilmektedir. 7

4. Uygulama Giriş verisi hatasını en aza indirmek için Lineer İnterpolasyon, Kuadratik Interpolasyon, Newton-Gregory İlerleme Polinomu, Lagrange Lineer, çeşitli derecede Lagrenge Interpolasyon teknikleri ve yukarda anlatılan hata azaltma teknikleri de yeri geldiğince kullanılarak en iyi sonuç alınmaya çalışılmıştır. İnterpolasyon teknikleri Spline (parça, parça) Interpolasyon şeklinde uygulanmıştır. Seçilen 5 farklı fonksiyon ile oluşturulan şekillerden nokta eksiltme ile oluşturulan yeni şekil interpolasyon tekniklerine tabi tutulmuş mutlak hata ve bağıl hata analizi ile Şekil 4 de gösterilen sonuçlar elde edilmiştir. ġekil 4) İnterpolasyon işlemleri ve sonuçları. 8

Elde edilen sonuçlara göre eşit eğimli noktalar arasında ara değerler bulunurken Lagrenge Lineer interpolasyon hesabı daha iyi sonuçlar vermekte, farklı eğimli noktalar arasındaki ara değerlerin bulunmasında ise Lagrange 2. Derece interpolasyon hesabı daha iyi sonuçlar vermektedir. Lagrange Interpolasyon Hesabında polinom derecesi arttıkça interpolasyon eğrilerinin gerçek eğriden saptıkları görülmüş bu yüzden 6. Dereceden daha yüksek derecelere çıkılmamıştır. Kuadratik İnterpolasyon ve Lineer İnterpolasyan uygulamasında z (basınç) değeri hesaplamasında ara değeri bulmada ek işlem gerektirdiği ve aynı zamanda bağıl ve mutlak hata oranlarının çok çıkması nedeni ile kullanılamayacağı gözlenmiş, aynı teknikle hesaplanan Newton Gregory İlerleme Polinomu interpolasyonu tekniğinden vazgeçilmiştir. Her zaman en iyi sonuca ulaşmak için eğime göre Lagrange Lineer ve Lagrange 2. Derece interpolasyonları arasında seçim yapan basit bir algoritma oluşturulmuştur. Şekil 5 te de görüleceği üzere Oto Seçim ile yapılan hesaplar neredeyse gerçek değerle çakışmaktadır. (Gerçek eğrinin altında görünmüyor.). ġekil 5 ) Oto seçim hesabı ve diğer interpolasyon teknikleri sonuçları. 9

Test için oluşturulan 5 fonksiyonun birlikte çalıştırılması ile oluşturulan grafik interpolasyon teknikleri ve oto seçim algoritması ile doldurularak Şekil 6 daki sonuçlar elde edilmiştir. 5. Sonuç ; ġekil 6 ) Karma fonksiyonlar ile interpolasyon hesapları sonuçları. Lineer, Quadratik ve Newton Gregory İnterpolasyon tekniklerinde hata oranı yüksek çıkmaktadır. Aynı zamanda baskı noktalarındaki basınç ara değerler hesaplanırken formül gereği ek işlem yapılması gerekmektedir.eşit Eğimlerde; Eşit eğim durumlarında Lagrange Lineer interpolasyonu en iyi sonucu vermektedir. 10 Diğer durumlarda; Bazı durumlarda Lagrange 4. Derece interpolasyonunda olduğu gibi değişik dereceli Lagrange interpolasyonlarında daha düşük hata oranları ile karşılaşılsa bile bunlar arasında en kullanılabilir olanı her eğimde kararlı bir şekilde hata oranını düşük tutabilen sadece Lagrange 2. Derece interpolasyonudur. Elde edilen bu bulgular üzerine eğime göre Lagrenge Lineer ve Lagrange 2. Derece interpolasyonları arasında seçim yapabilen basit bir Oto Seçim fonksiyonu oluşturularak

giriş verisi hatası en düşük seviyede tutulabilmektedir. Binary aritmetiğin kötü sonuçlarından kaçınmak için geliştirilen yazılım geliştirme ortamına göre gerekli önlemler alınmalıdır. 6. Kaynaklar [1] Tarpert, C.C., Seun, C.Y. and Wakahara., T., The State of the Art in On-line Handwriting Recognition, IEEE Transactions on Pattern Analysis and Machine Intelligence, 1990, Vol. 12, no: 8: 787-788 (1990) [2] Gasca, M., Saver, T., Polinominal Interpolation in Several Variables Advances in Computational Mathematics, 12 (4): 377-410 (2001) [3] Karagöz, İrfan, Sayısal Analiz ve Mühendislik Uygulamaları, Nobel Yayıncılık, Ankara, 2-37, 163-210 (2008) [4] Yüzer, Ahmet Hayrettin, Prostat Ameliyatı İçin µp veya µc Temelli İnsan Total Kanında veya Plazmasında Bulunan Na+ Konsantrasyonunu Online (Ameliyat Süresince) Sürekli Ölçecek Sensör Tasarımı, İnönü Üniversitesi Fen Bilimleri Enstitüsü Elektrik-Elektronik Mühendisliği Anabilim Dalı, Basılmamış Yüksek Lisans Tezi,31. (2002) [5] Ningping Sun, Toru Ayabe, Takahiro Nishizaki, Efficient Spline Interpolation Curve Modeling,Intelligent Information Hiding and Multimedia Signal Processing, 2007. IIHMSP 2007. Third International Conference on,isbn 978-0-7695-2994-1 Vol : 2, 59 62(2007) [6] Mak, Ronald, Java Number Cruncher: The Java Programmer's Guide to Numerical Computing, Part:1, Chapter 1,3,6., Part:II Chapter 6, Publishing as Prentice Hall PTR, ISBN 0-13-046041-9., (2003) [7] Bu alt başlıkta, Floating-Point :Java Glossary adlı makaleden faydalanılmıştır. http://mindprod.com/jgloss/floatingpoint.ht ml Erişim: 23/02/2011 [8] http://www.redbooks.ibm.com/abstracts/sg 242216.html Erişim Tarihi: 25/02/2011. 11