You are on page 1of 17

AYRIK YAPILAR

UYGULAMALARI

Hafta - 2 :
MATRİSLER
Matrisler
 MATLAB’de temel yapı birimi dizilerdir (Array).
 Dizi, satır veya sütunlar kullanılarak
yapılandırılmış, belli sayıda değerler içeren bir
yapıdır.
 Skaler büyüklükler, bir satır ve bir sütundan
oluşan diziler olarak görülür.
 Vektörler, sadece bir sütun veya sadece bir
satırdan oluşan dizilerdir.
 Matrisler ise birden fazla satır ve sütun
sayısına sahiptirler.

Ayrık Yapılar - Hafta 2 2


Matrisleri Oluşturmak
 Elemanlar listesi köşeli parantezler ([ , ])
içinde yazılır.
 Elemanlar boşluk veya virgüllerle ayrılır.
 Satır sonu noktalı virgül (;) ile belirtilir.

Ayrık Yapılar - Hafta 2 3


Skaler, Vektörel ve Matris Atamaları

Skaler atama Vektör atama Matris atama


X = 3
>>C=[1 3 2] >>C=[1 3; 2 1]
A = 5-5i
C= C=
B = A/5
1 3 2 1 3
2 1
>> C= [1;3;2]
C=
>> C=[1, 3; 2, 1]
1
C=
3
1 3
2
2 1

Ayrık Yapılar - Hafta 2 4


Dürer’in Sihirli Matrisi - 1
 Örnek : Dürer’in Sihirli Matrisi;
>> A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 … 14
1]
A=
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
 “…” uzun ifadelerde alt satıra geçmek için

kullanılır.
Ayrık Yapılar - Hafta 2 5
Dürer’in Sihirli Matrisi - 2
 Satır ve sütun toplamları eşittir.
>>A = magic(n) : nxn’lik Dürer matrisi
oluşturur.
>>sum(A) : A’nın sütun toplamlarını
içeren bir satır vektörü oluşturur.
 Matlab genellikle satır yerine sütunlarla

çalışır.
 Satır toplamı nasıl hesaplanır?

Ayrık Yapılar - Hafta 2 6


Transpose İşlemi
 Satır toplamlarını hesaplamanın en
kolay yolu transpose alıp tekrar sütun
toplamlarını hesaplamaktır. Sonra
(gerekirse) sonucun transpose’u alınır.
 Transpose işlemi üstten virgül (’) ile

uygulanır.
>>A’
>> sum(A’)’

Ayrık Yapılar - Hafta 2 7


İndeksleme - 1
 Bir dizinin elamanına, dizinin adını belirttikten
sonra parantez içinde o elemana ait satır ve
sütun numaralarını yazarak (yani elemanın
dizi içindeki konumunu belirterek) ulaşılabilir.
>>A(4, 2)
 A dizisinin 4. satırının 2. elemanına karşılık
gelir.
 İki boyutlu bir matrise tek indeksle de
ulaşılabilir.
 A(4,2) yerine A(8) yazılabilir.

Ayrık Yapılar - Hafta 2 8


İndeksleme - 2
 Bir matrisin var olmayan bir elemanına
ulaşmak hatadır.
>>B = A(4,5)
 Fakat var olmayan yere bir eleman

yazılabilir. Matris bunu da kapsayacak


şekilde büyür.
>>B = A;
>>B(4,5) = 17
Ayrık Yapılar - Hafta 2 9
“:” Operatörü - 1
 MATLAB'da, satır elemanları düzenli artış miktarına sahip
olan dizilerin elemanları bir değişkene özel bir yöntemle
atanabilir.

 Değişken = ilk_değer : artış_miktarı : son_değer

>>X=1:3:12
X=
1 4 7 10

Ayrık Yapılar - Hafta 2 10


“:” Operatörü - 2
 Artış miktarı verilmemişse 1 kabul edilir.
>>X=1:12
 Azalan bir dizi de yaratılabilir.

>>X=100:-7:50
 Tamsayı değer girilmesi şart değildir.

>>X=0:pi/4:pi

Ayrık Yapılar - Hafta 2 11


Özel Matrisler - 1
zeros (n) n x n boyutunda, sıfırlarda oluşan matris

zeros (n,m) n X m boyutunda, 0‘ lardan oluşan matris

ones (n) nx n boyutunda, 1'lerden oluşan matris

ones (n,m) nx m boyutunda, 1'lerden oluşan matris

eye (n) nx n boyutunda birim matris

eye (n, m) nX m boyutunda birim matris

Ayrık Yapılar - Hafta 2 12


Özel Matrisler - 2
pascal(n) nx n boyutunda, n’inci sıraya kadar pascal üçgeninin
elemanlarından oluşan matris
magic(n) nx n boyutunda sihirli matris

rand(n,m) n X m boyutunda, rastgele sayılardan oluşan matris


(uniformly distributed between 0 and 1)
randn(n,m) n X m boyutunda, rastgele sayılardan oluşan matris
(normally distributed)
mean = 0
variance = 1
standart deviation = 1

Ayrık Yapılar - Hafta 2 13


Matris Sütun ve Satır Sayıları
length(x) "x" dizisinin sütun sayısını verir

size (x) "x" dizisinin satır ve sütun sayısını verir

Ayrık Yapılar - Hafta 2 14


Elementer İşlemler - 1
İşlem Sembol Örnek

Toplama, a+b + 2+3

Çıkarma, a-b - 5-2

Çarpma, a*b * 3*4

Bölme, a/b / 14/7

Üs alma, ab ^ 2^3

Parantez a*(b+c) () 2*(3+5)

Ayrık Yapılar - Hafta 2 15


Elementer İşlemler - 2
 Elementer İşlemler (Dot Operators)
 Matrislerin satır ve sütun sayılarının eşit
olması durumunda skaler işlemler
yapılabilir.
 Operand’lardan birinin skaler olması
durumunda skaler işlemler yapılabilir.

Ayrık Yapılar - Hafta 2 16


Elementer İşlemler - 3
 a*b : Vektörel çarpım (matris çarpımı)
 a.*b : Skaler çarpım (elemanların
çarpımı)
 Skaler ile işlem yaparken dot (.)
yazılmasa da olur.
 a./2 ile a/2 aynı şeydir. Matrislerin tüm
elemanları 2’ye bölünür.

Ayrık Yapılar - Hafta 2 17

You might also like