#3 MATLAB: Dahili Fonksiyonlar

MATLAB kullanarak yazılan programlarda yazılan kodda matrisler ve değişkenler üzerinde bazı işlemler yapılması gerekebilmektedir. Bu gibi durumlarda MATLAB içerisindeki dahili fonksiyonlardan yararlanılabilmektedir.

Bu dahili fonksiyonlar genellikle matematiksel işlemleri yapan fonksiyonlardır.

Skaler bir sayının karekökünü almak için sqrt() fonksiyonu kullanılmaktadır.


a = 9;
A = sqrt (a)

Çıktı:

A =
    3

b = [4, 9, 16];
B = sqrt (b)

Çıktı:

B =
    2  3  4

Bölme işlemlerinin kalanının bulunabilmesi için rem() fonksiyonu kullanılmaktadır.


rem (11,3)

Çıktı:

ans =
      2

Bir matrisin boyutu öğrenilmek istendiğinde size() fonksiyonu kullanılmaktadır.


c = [1, 2, 3; 4, 5, 6];
C = size (c)

Çıktı:

D =
     2   3

Matrisin satır ve sütun değerini gösteren veriler bir değişkene de atanabilmektedir.


d = [1, 2, 3; 4, 5, 6];
[rows, cols] = size (d)

Çıktı:

rows =
       2 
cols =
       3

Bir matristeki en büyük değere sahip eleman bulunmak istenildiğinde max() fonksiyonu kullanılmaktadır.


e = [1, 5, 3];
max(e)

Çıktı:

ans =
      5

f = [1 ,5 ,3; 2, 4, 6];
max(f)

Çıktı:

ans =
      2   5   6

Matristeki elemanlardan en büyük elemanın kaçıncı satır ve sütunda olduğunun bilgisi bir değişkene de atanabilmektedir.


e = [1, 5, 3];
[x,y] = max(e)

Çıktı:

x =
    5 
y =
    2

f = [1, 5, 3; 2, 4, 6];
[x,y] = max(f)

Çıktı:

x =
    2   5   6 
y =
    2   1   2

Yukarıdaki kodda x değişkeni maksimum değerleri temsil ederken y değeri ise bu değerlerin satır numaralarını temsil etmektedir.


Aynı boyutlardaki iki matrisin aynı konumdaki elemanlarından en büyük olanlarla yeni bir matris oluşturulmak istenildiğinde de max() fonksiyonu kullanılmaktadır.


f = [1, 5, 3; 2, 4, 6];
i = [10, 2, 3; 1, 8, 7];
max(f,i)

Çıktı:

ans =
     10  5   4
     2   8   7

Bir matristeki en küçük değere sahip eleman bulunmak istenildiğinde min() fonksiyonu kullanılmaktadır.


e = [1, 5, 3];
min(e)

Çıktı:

ans =
      1

f = [1 ,5 ,3; 2, 4, 6];
min(f)

Çıktı:

ans =
      1   4   3

Matristeki elemanlardan en küçük elemanın kaçıncı satır ve sütunda olduğunun bilgisi bir değişkene de atanabilmektedir.


f = [1, 5, 3];
[x,y] = min(f)

Çıktı:

x =
    1
y =
    1

f = [1, 5, 3; 2, 4, 6];
[x,y] = min(f)

Çıktı:

x =
    1   4   3 
y =
    1   2   1

Yukarıdaki kodda x değişkeni minimum değerleri temsil ederken y değeri ise bu değerlerin satır numaralarını temsil etmektedir.


Aynı boyutlardaki iki matrisin aynı konumdaki elemanlarından en küçük olanlarla yeni bir matris oluşturulmak istenildiğinde de min() fonksiyonu kullanılmaktadır.


f = [1, 5, 3; 2, 4, 6];
i = [10, 2, 3; 1, 8, 7];
min(f,i)

Çıktı:

ans =
     1  2  3
     1  4  6

Bir matrisin ya da vektörün ortalaması mean() fonksiyonu kullanılarak hesaplanmaktadır. Eğer 1’den fazla satır varsa sütunların ortalama değeri hesaplanmaktadır.


e = [1, 5, 3];
mean(e)

Çıktı:

ans =
      3

f = [1, 5, 3; 2, 4, 6];
mean(f)

Çıktı:

ans =
      1.5   4.5   4.5

Bir matrisin ya da vektörün medyanı median() fonksiyonu kullanılarak hesaplanmaktadır. Eğer 1’den fazla satır varsa sütunların medyan değeri hesaplanmaktadır.


e = [1, 5, 3];
median(e)

Çıktı:

ans =
      3

j = [1, 5, 3; 2, 4, 6; 3, 8, 4];
median(j)

Çıktı:

ans =
      2   5   4

Bir matrisin ya da vektörün modu mode() fonksiyonu kullanılarak hesaplanmaktadır.


k = [1, 2, 3, 3];
mode(k)

Çıktı:

ans =
      3

Bir matrisin ya da vektörün tüm elemanlarının toplamı sum() fonksiyonu kullanılarak hesaplanmaktadır. 1’den fazla satır varsa sütunların toplamı hesaplanmaktadır.


e = [1, 5, 3];
sum(e)

Çıktı:

ans =
      9

f = [1, 5, 3; 2, 4, 6];
sum(f)

Çıktı:

ans =
      3   9   9

Bir matrisin ya da vektörün tüm elemanlarının çarpımı prod() fonksiyonu kullanılarak hesaplanmaktadır. 1’den fazla satır varsa sütunların çarpımı hesaplanmaktadır.


e = [1, 5, 3];
prod(e)

Çıktı:

ans =
      15

e = [1, 5, 3; 2, 4, 6];
prod(e)

Çıktı:

ans =
      2   20   18

Bir matrisin ya da vektörün tüm elemanlarının ötelenerek toplanması cumsum() fonksiyonu kullanılarak hesaplanmaktadır. 1’den fazla satır varsa sütunların ötelenerek toplamı hesaplanmaktadır. Bu fonksiyon S2 -> S1 + S2 işlemini yapmaktadır.


e = [1, 5, 3];
cumsum(e)

Çıktı:

ans =
      1   6   9

f = [1, 5, 3; 2, 4, 6];
cumsum(f)

Çıktı:

ans =
      1   5   3
      3   9   9

Bir matrisin ya da vektörün tüm elemanlarının ötelenerek çarpılması cumprod() fonksiyonu kullanılarak hesaplanmaktadır. 1’den fazla satır varsa sütunların ötelenerek çarpımı hesaplanmaktadır. Bu fonksiyon S2 -> S1 x S2 işlemini yapmaktadır.


e = [1, 5, 3];
cumprod(e)

Çıktı:

ans =
      1   5   15

f = [1, 5, 3; 2, 4, 6];
cumprod(f)

Çıktı:

ans =
      1   5   3
      2   20  18

Bir matrisin ya da vektörün tüm elemanlarının küçükten büyüğe sıralanması sort() fonksiyonu kullanılarak hesaplanmaktadır. 1’den fazla satır varsa sütunlar küçükten büyüğe sıralanmaktadır.


e = [1, 5, 3];
sort(e)

Çıktı:

ans =
      1   3   5

f = [1, 5, 3; 2, 4, 6];
sort(f)

Çıktı:

ans =
      1   4   6
      2   5   6

Bir matrisin ya da vektörün tüm elemanlarının büyükten küçüğe sıralanması yine sort() fonksiyonu kullanılarak hesaplanmaktadır. Lakin büyükten küçüğe sıralamada fonksiyonun içerisinde ‘descend’ ifadesi kullanılmaktadır. 1’den fazla satır varsa sütunlar küçükten büyüğe sıralanmaktadır.


l = [3, 1, 3; 2 , 4, 6];
sort(l,’descend’)

Çıktı:

ans =
      2   5   6
      1   4   3

Bir matrisin ya da vektörün 1. sütunu referans alınarak tüm matrisin küçükten büyüğe sıralanması sortrows() fonksiyonu ile yapılmaktadır.


m = [3, 1, 3; 1, 9, 3; 4, 3, 6];
sortrows(m)

Çıktı:

ans =
     1   9   3
     3   1   3
     4   3   6

Eğer sütun referans alınarak yapılan sıralamada 1. sütundan farklı bir sütun referans alınmak istenirse sortrows() fonksiyonuna sütun numarasını belirten bir parametre eklenmektedir.


m = [3, 1, 3; 1, 9, 3; 4, 3, 6];
sortrows(m,2)

Çıktı:

ans =
      3   1   2
      4   3   6
      1   9   3

Bir vektör ya da matrisin uzunluğu hesaplanmak istenildiğinde lenght() fonksiyonu kullanılmaktadır. Bu fonksiyon matrisin sütun sayısını çıktı olarak vermektedir.


e = [1, 5, 3; 2, 4, 6];
lenght(e)

Çıktı:

ans =
      3

Bir vektör ya da matristeki toplam eleman sayısı numel() fonksiyonu ile hesaplanmaktadır.


f = [1, 5, 3; 2, 4, 6];
numel(f)

Çıktı:

ans =
      6

Bir vektör ya da matrisin standart sapması hesaplanmak istenildiğinde std() fonksiyonu kullanılmaktadır. 1’den fazla satır varsa sütunların standart sapması hesaplanmaktadır.


e = [1, 5, 3];
std(e)

Çıktı:

ans =
      2

f = [1, 5, 3; 2, 4, 6];
std(f)

Çıktı:

ans =
     0.7071   0.7071   2.1213

Bir vektör ya da matrisin varyansı hesaplanmak istenildiğinde var() fonksiyonu kullanılmaktadır. 1’den fazla satır varsa sütunların varyansı hesaplanmaktadır.


e = [1, 5, 3];
var(e)

Çıktı:

ans =
      4

Bir vektör ya da matrisin orjine olan uzaklığı yani mutlak değeri hesaplanmak istenildiğinde abs() fonksiyonu kullanılmaktadır.


n = 3 + 4i;
abs(n)

Çıktı:

ans =
      5

Bir vektörün x ekseniyle yaptığı açı angle() fonskiyonu ile hesaplanmaktadır.


n = 3 + 4i;
angle(n)

Çıktı:

ans =
       0.9273

Kompleks bir sayı oluşturulmak istenildiğinde bir karmaşık sayı complex() fonksiyonu ile oluşturulur.


x = 3;
y = 4;
complex(x,y)

Çıktı:

ans =
      3.0000 + 4.0000i

Bu bigilere ek olarak MATLAB üzerinde sık sık kullanılan ve tercih edilen bazı dahili fonksiyonlar aşağıda sırasıyla verilmiştir.

  • help komutu ile yardım alabileceğiniz genel başlıkları görüntülenir, help tan komutu ile de tan komutunun ne olduğu olduğu hakkında gerekli bilgilendirmeyi görüntülenir.
  • nthroot (x,n) komutu ile x sayısının n. dereceden kökü alınır.
  • sign (x) komutu ile x sayısının işareti bulunur.
  • exp (x) komutu ile e^x sayısının değeri bulunur.
  • log (x) komutu ile ln(x) , log10(x) komutu ile de logaritma 10 tabanında x hesaplanır.
  • round (x) komutu x sayısını en yakın tam sayıya yuvarlar.
  • fix (x) komutu x sayısını 0’a en yakın tamsayıya yuvarlar.
  • floor (x) komutu x sayısını -sonsuz tarafındaki en yakın tamsayıya yuvarlar.
  • ceil (x) komutu x sayısını + sonsuz tarafındaki en yakın tamsayıya yuvarlar.
  • factor(x) komutu x sayısını asal çarpanlarına ayırır.
  • gcd(x,y) komutu x ve y sayılarının en büyük ortak bölenini (ebob) bulur.
  • lcm(x,y) komutu x ve y sayılarının en küçük ortak katlarını(ekok) bulur.
  • rats(x) komutu x sayısını rasyonel bir kesir olarak yazar.
  • factorial(x) komutu x faktöriyel (x!) değerini hesaplar.
  • nchoosek(x) komutu n’in k’lı kombinasyonunu hesaplar.
  • primes(x) komutu x’in kendisinden küçük tüm asal sayılarını bulur.
  • isprime(x) komutu x sayısının asal sayı olup olmadığını kontrol eder. x asal sayısı ise 1, asal sayı değilse 0 çıktısı verir.
  • rand(n) komutu, 0-1 aralığında bulunan rastgele elemanlarla n x n boyutunda bir matris oluşturur.
  • rand(m,n) komutu, 0-1 aralığında bulunan rastgele elemanlarla m x n boyutunda bir matris oluşturur.
  • randn(n) komutu ortalama 0 ve varyansı 1 olan rastgele elemanlarla n x n boyutunda bir matris oluşturur.(Gaussian)
  • randn(m,n) komutu ortalama 0 ve varyansı 1 olan rastgele elemanlarla m x n boyutunda bir matris oluşturur.(Gaussian)
  • abs(x) komutu x vektörünün mutlak değerini yani orjine olan uzaklığını bulur.

MATLAB kodlanırken kullanılan bazı dahili trigonometrik fonksiyonlar aşağıdaki tabloda mevcuttur.

FonksiyonAçıİşlev
sin()radyansinüs
cos()radyankosinüs
tan()radyantanjant
cot()radyankotanjant
sind()derecesinüs
cosd()derecekosinüs
tand()derecetanjant
cotd()derecekotanjant
asin()radyanarksinüs
acos()radyanarkkosünüs
atan()radyanarkktanjant
acot()radyanarkkotanjant
sinh()radyanhiperbolik sinüs
cosh()radyanhiperbolik kosinüs
tanh()radyanhiperbolik tanjant
coth()radyanhiperbolik kotanjant

Yukarıdaki tabloda yazılanlara ek olarak aşağıdaki terimler de MATLAB içerisinde oldukça sık kullanılan dahili fonksiyon ve belirli bir çıktıya sahip ifadelerdir.

  • pi : π sayısı
  • i : imajiner kısım
  • j : imajiner kısım
  • inf : 0’a bölünmelerdeki belirsizlik(5 / 0)
  • NaN : sonucun gelmediği sayıya eşit olamayan durum(0 / 0)
  • eps : MATLAB daki duyarlılık katsayısı
  • clock :anlık zamanı tarih ve saat şeklinde gösterir.(fix(clock))komutu zamanı daha sade gösterir.(sadece sayılar kullanılır)
  • date : anlık tarihi gösterir. (21-Jan-2021 formatında çıktıyı verir.)

MATLAB üzerindeki dahili fonksiyonlar ve terimleri bu yazıda elimden geldiği kadar açıklamaya çalıştım.

Yorum bölümünden tüm sorularınızı bana iletebilirsiniz.

Çalışmalarınızda başarılar dilerim.

Hamit Can Dinç.

Leave a Reply

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


The reCAPTCHA verification period has expired. Please reload the page.