4 – Matlab’da Bilimsel Yazım (10 üzeri gösterimi) ve Basit Matematik Fonksiyonları

Matlab üzerinde işlem yaparken 4.23* 10 üzeri 43 sayısını girmek için elbet de bu sayıyı 1000….000 ile çarpmamız gerekmiyor. İşte bu 4. yazıya bunu kısa yoldan nasıl yapacağımızla başlayıp kök alma, sinüs, kosinüs değerleri bulma, yuvarlama, mutlak değer alma gibi basit fonksiyonları vererek bitireceğiz. İsterseniz vakit kaybetmeden başlayalım.

İlk olarak, başlangıçta belirttiğimiz sayıyı girmek istersek ne yapacağımıza bakalım. Matlab’te üsleri girerken 10 üzerileri e harfi ile gösteriyoruz. Yani şöyle:

4.23e43

Aldığımız çıktı da şu şekilde olacak:

ans =

   4.2300e+43

Buradaki + ifadesini de açıklamakta fayda var. Daha doğrusu, 10’un negatif kuvvetleri için – koyabiliriz. Yani 4*10 üzeri -12 için:

4e-12

yazmamız yeterli. Şimdi ilk sayımızı bir değişkene atayıp önceki yazıda belirttiğimiz format niteliği için ufacık bir örnek yapalım:

x = 4.23e43
format rat
x
format long
x
format
x

Burada, ilk ve son yazımın aynı olduğuna dikkat edin. Önceki yazıda belirtmediğimiz bir yenilikle karşılaştık. format niteliğini herhangi bir ek ifade kullanmadan yazdık. Bu, varsayılan yazım formatına döndürmeye yarar. Önceki yazıda varsayılan yazım formatının short olduğunu söylemiştik. Yani son yazdığımız ifade format short ile aynı işi görür. long yazım şeklini ve rat yazım şeklini de önceki yazıdan zaten biliyoruz. Burada rat‘ın nasıl sonuç verdiğine dikkat edin.

Artık sayılarımızı 10 üzeri formatında yazabildiğimize göre, basit matematik fonksiyonlarına geçebiliriz.

a) round() fonksiyonu: Bu fonksiyon en yakın tamsayıya yuvarlamayı sağlar. Bildiğimiz, matematikteki yuvarlama mantığı geçerlidir. Ufak bir örnek yapacak olursak:

>> round(2.3)
ans =
2
>> round(2.5)
ans =
3
>>

 

 

b) floor() fonksiyonu: Verilen sayının ondalıklı kısmını atmaya yarar. Bir başka deyişle, bir alt tamsayıya yuvarlar.

>> floor(1.9)
ans =
1
>> floor(1.0)
ans =

1

Gördüğümüz gibi, 1.9 ile 1.0 aynı sonucu verdi. Daha önce de belirttiğimiz sonuç buydu.

c) ceil() fonksiyonu: Round fonksiyonunun tersi denilebilecek bir fonksiyondur. Sayıları bir üst tamsayıya vuvarlama özelliğini kadar.

d) fix() fonksiyonu:  Sayıyı sıfıra doğru yuvarlar. Daha iyi anlayabilmek için öğrneği inceleyelim:

>> fix(3.4)
ans =
     3
>> fix(3.9)
ans =
     3
>> fix(3.09)
ans =
     3
>> fix(3.3124324532)
ans =
     3

e) abs(x) fonksiyonu:  Sayının mutlak değerini döndürür.

f) sign(x) fonksiyonu: Sayının işaretini döndürür. Sonucu -1 veya +1 olarak verir.

g) factor(x) fonksiyonu: Sayının asal çarpanlarını döndürür. Çarpanlarına ayırma olarak düşünebiliriz. İsterseniz bir örnek üzerinde görelim:

>> factor(120000002)

ans =

           2         151      397351
>> factor(1200)

ans =

     2     2     2     2     3     5     5

ı) log(x) fonksiyonu: Ln alma işlemini yapar. Verilen x değerinin doğal logaritmasını almaya yarar.

i) sin(x)/cos(x)/tan(x)/cot(x) fonksiyonları: Her biri kendi ismindeki geometrik işlemi yapmaya yarar. Not: Bilgisayar hesaplama yaparak sonuç verdiği için, sinüs 180’in değerini hesaplarken aldığımız değer 0’dan farklı oluyor(1.2246e-16). Burada hata payı 10 üzeri -16 dolaylarında olduğu için dikkate alınmıyor ve bulunan sonuç 0 kabul ediliyor. Not2: Bu fonksiyonlara birimleri radyan cinsinden vermemiz gerekiyor. Yani sin(180) yazınca doğru sonucu elde etmiyoruz(açılar için konuşuyorsak), sin(pi) yazınca ilk notta da belirttiğimiz üzere hata payı çok düşük olan bir ifade ile karşılaşıyoruz.

Bu yazı burada bitiyor. Aklınıza takılanları, düzeltmek istediğiniz yerleri buradan istediğiniz gibi sorabilirsiniz.

 
comments powered by Disqus