MATLAB yazı dizimin devamı olarak bu yazıda sizlere matrisler ve matris işlemlerinden bahsedeceğim.
İlk olarak vektör nasıl tanımlanır ile başlamak istiyorum:
A=[1:2:14] yazarsak elemanları 1'den başlayan 14'e kadar 2 aralıkla devam eden satır vektör oluştururuz.
A=1:2:14 de bunun eşdeğeridir.
>> A=[1:2:14]
A =
1 3 5 7 9 11 13
>> A=1:2:14
A =
1 3 5 7 9 11 13
Bir diğer yol da:
>> B=linspace(1,14,7)
B =
1.0000 3.1667 5.3333 7.5000 9.6667 11.8333 14.0000
Burada 1'den 14'e kadar eşit aralıklarla artan 7 tane sayıdan oluşan satır vektör oluşturulur.
Vektörün içinden herhangi bir elemana ulaşmak için B(satır veya sütun no) yazılabilir:
>> B(3)
ans =
5.3333
Matris tanımlamak içinse:
A=[1 8 5 19;2 3 6 7] ile 2x4 boyutlu A matrisini tanımlayabiliriz. Sütun değiştirmek için noktalı virgül kullanmak şarttır. Buna eşdeğer bir tanımlama ise;
A=[1,8,5,19;2,3,6,7]'dir. A matrisi hafızada şu şekilde tutulacaktır:
A =
1 8 5 19
2 3 6 7
Bu matrisin içinden herhangi bir elemana ulaşmak istenildiğinde A(satır no, sütun no) yazmak yeterlidir. Örneğin A matrisindeki 2. satır 4. sütun elemanına ulaşmak için A(2,4) yazılmalıdır. Cevap 7 olacaktır.
Daha kompleks bir örnek vermek gerekirse, örneğin bir değil de birden fazla elemana ulaşılmak istenirse ne yapılmalıdır buna değineyim. Mesela A matrisinde 2. satırda 2,3,4 numaralı sütunlara ulaşılmak isteniyor. Bunun için A(2,2:1:4) veya A(2,2:4) yazmak gerekir. İlk kullanımda 2. sütundan başlayıp, 4. sütuna kadar 1'er adımla seç olarak düşünülmeli. İkincide ise Matlab, bahsettiğimiz 1'er adımı yazmamızı zorunlu tutmadığı için adım sayısını yazmadım. Cevap:
ans =
3 6 7
Başka bir örnekle pekiştirmek gerekiyorsa, eğer 2. satırın tüm sütunları istenilseydi A(2,:) yazmak yeterli olacaktır. Cevap:
ans =
2 3 6 7
Matris İşlemleri
Toplama işlemi: Matrislerde toplama işlemi yapılabilmesi için toplanan matrislerin aynı boyutta olması gerekir. Örneğin:
>> a=[22,3,4,13;21,5,7,10;90,4,1,3]
a =
22 3 4 13
21 5 7 10
90 4 1 3
>> b=[4,4,6,89;4,5,20,3;3,6,8,0]
b =
4 4 6 89
4 5 20 3
3 6 8 0
olarak tanımlanmış iki matrisi toplayalım:
>> a+b
ans =
26 7 10 102
25 10 27 13
93 10 9 3
Eğer bir matris bir sayı ile toplanmak istenirse, o zaman matrisin her elemanı tek tek o sayı ile toplanır. Örneğin:
>> a
a =
22 3 4 13
21 5 7 10
90 4 1 3
>> a+1
ans =
23 4 5 14
22 6 8 11
91 5 2 4
Çıkarma işlemi: Toplama işleminde olduğu gibi çıkarma işlemi uygulanacak matrisler aynı boyutta olmalıdır. Örneğin:
>> a
a =
22 3 4 13
21 5 7 10
90 4 1 3
>> b
b =
4 4 6 89
4 5 20 3
3 6 8 0
>> a-b
ans =
18 -1 -2 -76
17 0 -13 7
87 -2 -7 3
Bir sayıdan bir matris çıkarılacaksa veya matrsisten bir sayı çıkarılacaksa eleman eleman işlem yapılır. Örneğin:
>> b
b =
4 4 6 89
4 5 20 3
3 6 8 0
>> a-b
ans =
18 -1 -2 -76
17 0 -13 7
87 -2 -7 3
>> 1-b
ans =
-3 -3 -5 -88
-3 -4 -19 -2
-2 -5 -7 1
Çarpma işlemi: Çarpma işlemi iki anlamda ele alınmalıdır. Birincisi eleman elemana çarpımdır. Yani mertebeleri aynı olan elamanları çarpıp aynı mertebeye yazmaktır. Bunun için eşit boyutlu matrisler gereklidir. Örneğin:
>> a
a =
22 3 4 13
21 5 7 10
90 4 1 3
>> b
b =
4 4 6 89
4 5 20 3
3 6 8 0
>> a.*b
ans =
88 12 24 1157
84 25 140 30
270 24 8 0
İkinci anlam ise matematiksel anlamdır. Yani çarpılacak iki matrisin boyutlarının uygun olması gerekir. İlk matrisin sütun sayısı ile ikinci matrisin satır sayısı aynı olmalıdır. Örneğin:
>> c=[1,3,5;7,2,4] % 2x3 boyutlu
c =
1 3 5
7 2 4
>> d=[2,3,4,1;2,3,6,7;4,4,5,0] % 3x4 boyutlu
d =
2 3 4 1
2 3 6 7
4 4 5 0
>> c*d % sonucun 2x4 boyutlu olması gerekir
ans =
28 32 47 22
34 43 60 21
Üs alma işlemi: Yine çarpma işlemi gibi iki şekilde yapılır. Bir a matrisinin her bir elemanının n. kuvvetlerinden oluşan matrisi bulmak için a.^n işlemi kullanılır. Satır ve sütun sayıları eşit bir kare matrisi ardışık olarak n defa kendisiyle çarparak, a matrisinin n. kuvvetini bulabiliriz.Örneğin a matrisinin karesi için a*a veya a^2, kübünü buldurmak için a*a*a veya a^3, dördüncü kuvvetini buldurmak için a*a*a*a veya a^4 işlemiyle buldurabilirz.Ancak 2005 nci kuvvetini buldurmak için a^2005 yazmak yeterlidir. Örneğin:
>> a=[1,2,3;4,5,6;7,8,9]
a =
1 2 3
4 5 6
7 8 9
>> a.^3
ans =
1 8 27
64 125 216
343 512 729
>> a^3
ans =
468 576 684
1062 1305 1548
1656 2034 2412
Burada ilk olarak eleman elemana işlem yapıldı. Yani a.^3 yazarak tüm elemanların ayrı ayrı 3. kuvvetleri bulundu ve o metrebeye yazıldı. İkinci yapılan ise matrisi kendisiyle 3 defa çarpmakla eşdeğerdir. Yani matrisin tamanının 3. kuvvetini almaktır. Bunu yapabilmek içinse kare matris olması şarttır. Eğer kare değilse hata alırsınız:
??? Error using ==> mpower
Inputs must be a scalar and a square matrix.
Hoşçakalın.
Hiç yorum yok:
Yorum Gönder