Sayılardan oluşan satır ve sütun yapısına matris (dizi)denir.
Örneğin;
d1=[5] 1×1 lik, d2=[ 2 -7] 1×2 lik,
d3= [1 0 -3 ]
[ 5 3 1 ] 2×3 lük bir dizidir.
Matlab da bu dizileri,komut satırında;
d1=[5] veya d1=5 ile,
d2=[2 -7] veya d2=[2,-7] ile,
d3=[1 0 -3;5 3 1] veya d3=[1,0,-3;5,3,1] veya
d3=[1 0 -3
5 3 1] ataması ile oluşturabiliriz.
Dizilerin Değerlerinin Değiştirilmesi ve Düzenlenmesi:
Bir dizinin herhangi bir elemanını belirlemek için dizi adından hemen sonra parantez içinde elemanın bulunduğu satır ve sütun sayısı yazılmalıdır.
Örnek:
a) Yukarıda tanımlanan d2 dizisinin -7 elemanını görüntülemek için ne yapılmalıdır?
b) Yukarıda tanımlanan d3 dizisinin 2. satır, 1.sütununda bulunan 5 in değerinin, 7.5olması için ne yapılmalıdır?
Çözüm:
a)d2(1,2) b) d3(2,1)=-7.5;
Not:1) Bir dizinin bir çok elemanını yeniden değer atamak gerekirse, komut satırından atama yapmak uzun zaman alabilir.Bu durumda dizi değişkeninin üzerine çift tıklayarak açılan dizi editörü (array edit) yardımıyla değişiklikleri daha kolay yapabiliriz.
2) Bir diziye düzenli artış (veya azalış) kuralıyla değerler
atanmak isteniyorsa bunu;
ilk_değer:artıs:son değer veya ilk_değer:artıs:son değer biçiminde yapabiliriz.Ancak artış 1 ise belirtilmeyebilir.
Örnek:
a) puan adlı bir boyutlu diziye 1 den 100 e kadar sayıları atayan
b) ortalama adlı bir diziye 0 dan 5 e kadar 0.5 er artışla elde
edilen sayı dizisini atayan
c) 1. satır 7 den den 17 ye kadar olan tam sayılar, 2. satırı 99 dan 89 a kadar azalan tam sayılardan olusan 2 boyutlu m dizisine atayan işlemleri yazınız.
Çözüm:
a) puan=[1:1:100]; veya puan=1:1:100; veya puan=1:100;
b) ortalama=[0:0.5:5];
c) m=[7:17;99:-1:89];
Özel Dizi (Matris) Oluşturan Bazı Fonksiyonlar:
a) Sıfır Matrisi Oluşturan Fonksiyon:
Her elemanı sıfır olan mxn boyutunda bir matrise sıfır matrisi denir.Böyle bir dizi oluşturmak için zeros fonksiyonu kullanılır.
Kullanımı; matris_adı=zeros(m,n); biçimindedir.
Örnek:
3×5 boyutunda s adlı sıfır matrisi olusturalım.
Çözüm: s=zeros(3,5);
b) 1 lerden Oluşan Matris:
Her elemanı 1 olan mxn boyutunda bir matrisi oluşturmak için ones fonksiyonu kullanılır.
Kullanımı; matris_adı=ones(m,n); biçimindedir.
Örnek:
2×3 boyutunda b adlı tüm elemanları 1 olan matrisi olusturalım.
Çözüm: b=ones(2,3);
c) Birim Matrisi Olusturan Fonksiyon:
Esas köşegeni 1 lerden diğer elemanları 0 lardan oluşan matrise kare matrise (satır ve sütun sayısı eşit olan ) birim matrisi, kare olmayan matrise de diyagonal matris
denir.Böyle matrisleri oluşturmak için eye fonksiyonu kullanılır.
Kullanımı; matris_adı=eye(m,n); biçimindedir.
Örnek:
a) 3×3 lük birim matris;
b) 4×3 lük diyagonal matris olusturalım.
Çözüm:a) i=eye(3,); b) d=eye(4,3);
d) Rastgele Sayılardan Oluşan Matris ve Fonksiyonu:
Elemanları 0 ile 1 arasındaki rastgele sayılardan oluşan bir matris için rand fonksiyonu kullanılır.
Kullanımı; matris_adı=rand(m,n); biçimindedir.
Not 1) Üretilen matrisin tüm elemanlarını k gibi bir sayı
ile çarparak, sayıları 0 ile k arasına çekebiliriz.
Not 2) Ondalıklı sayılardan oluşmus bir matrisin
elemanlarını yuvarlayıp tam sayı yapmak için round fonksiyonunu kullanırız.
Örnek:
a) 0 ile 1 arasında rastgele sayılardan olusan 10 elemanlı a adında bir satır matrisi (dizisi, vektörü) olusturalım.
b) Elemanları 10 ile 50 arasında sayılardan oluşan 5×3 tipinde b matrisini olusturalım.
c) Elemanları 50 ile 300 arasındaki tamsayılardan oluşan 3×4 tipinde c matrisini oluşturalım.
Çözüm:
a) a=rand(1,10); b) b=10+rand(5,3)*40;
c) c=round(50+rand(3,4)*250);
e) Rastgele Sayılardan Oluşan Normal Dağılımlı Matris ve
Fonksiyonu:
Elemanları rastgele sayılardan oluşan bir normal dağılımlı bir matris için randn fonksiyonu kullanılır.
Kullanımı; matris_adı=randn(m,n); biçimindedir.
Örnek: Rastgele sayılardan oluşan normal dağılımlı 2×3
lük bir n matrisini oluşturalım.
Çözüm: n=randn(2,3);
f) Lineer Aralıklı (Aritmetik) Dizi ve Fonksiyonu:
Başlangıç ve bitiş değerleri ve kaç elemandan oluşacağı belirlenen diziyi oluşturmak için linspace fonksiyonu kullanılır.
Kullanımı;
dizi_adı=linspace ilk_değer,son_değer,eleman_sayısı);biçimindedir.
Örnek: 10 ile 30 arasına 9 tane daha sayı koyarak a adında bir aritmetik dizi olusturalım.
Çözüm: 10 ve 30 (ilk ve son terimler) diziye dahil olacağından terim sayısı 11 dir.O halde komut; a=linspace(10,30,11);
Matris İşlemleri:
Matlab’da sayılardan oluşan matrislerle ilgili bazı işlemler yaptırmak mümkündür.Örneğin 1 den 100 e kadar olan sayıları 1×100 lük bir a matrisine, kareleri dizisini de 1×100 lük bir b matrisine atamak daha sonra da karşılıklı elemanları toplamını da bir c matrisine atamak isteyebiliriz.Veya 2×3 lük iki matrisi toplayabilir,çıkarabilir ya da birincinin 3 katına ikincinin -3 katını ilave
edebilir ve sonuç matrisinin tüm elemanlarının 7 fazlasını buldurmak isteyebiliriz.Veya 2×3 lük bir a matrisi ile 3×4 lük bir b matrisinin çarpımını c matrisine atamak isteyebiliriz.İşte bu ve bunun gibi işlemlere
matris işlemleri denir.Şimdi bu işlemlerin bazılarını
görelim.
a) Toplama-Çıkarma Bir Sayı ile Çarpma İşlemi:
İki matrisi toplamak (veya çıkarmak) demek,matrislerin aynı mertebedeki elemanları teker teker toplayıp (veya çıkarıp ) aynı mertebeye yazmak demektir.Bu durumda iki matrisin de aynı mertebeden olması gereği açıktır.Bir matrisi sabit bir sayıyla ile toplamak (veya çıkarmak) demek, matrisin elemanlarınının tümünü teker teker o
sayıyla toplamak (veya çıkarmak )demektir.Bir matrisi sabit bir sayıyla ile çarpmak demek ise, matrisin elemanlarının tümünü teker teker o sayıyla çarpmak
demektir.
Örnek: a=[-1 3 5;2 1 7] ve b=[3 -3 -4;1 1 5] matrisleri
veriliyor.
a) c=a+b toplam matrisini b) d=a-b matrisini c) a
matrisinin her elemanınının 5 eksiğine karsılık gelen e
matrisini d) f=2a-3b matrisini bulduran islemleri yazalım.
Çözüm:
a) c=a+b b) d=a-b c) e=a-5 d) f=a+a-b-b-b veya
f=2*a-3*b
b) İki Matrisin Çarpımı, Bir Matrisin Kuvvetleri ve
Çarpma İşlemi:
İki matrisin çarpım işlemi iki biçimde anlaşılır.
1) Aynı mertebeden iki matrisin elemanlarını teker teker ,
çarpıp,aynı mertebeye yazmak demektir.Bunu .* işlemi ile gerçekleştiririz.
2)Matematiksel anlamda iki matrisi çarpmak istediğimizde; birinci matris mxn türünde ve ikinci matris mutlaka nxp türünde olmalıdır; yani birinci matrisin sütun sayısı ikinci matrisin satır sayısına eşit olmalıdır.Bu durumda birinci matrisin i. sütun elemanları ile, ikinci matrisin j. satırındaki elemanlar karşılıklı olarak çarpılır ve sonuçlar toplanır ve bu toplam çarpım matrisinin (i,j)inci mertebeye yazılır.Matrisler arası çarpma işleminin sembolü de * dır.
3)Bir a matrisinin her bir elemanının n. kuvvetlerinden
oluşan matrisi bulmak için a.^n işlemi kullanılır.
4)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 yazmak yeterlidir.
Not)Bir a matrisinin eleman-elemana çarpma işlemine benzer mantıkla, bir matrisin tüm elemanlarının kareleri,küpleri,sinüsleri,kosinüsleri, logaritmalarından … oluşan matris bulunmak istenirse; bunu sırayla a.*a (veya a.^2), a.*a.*a,(veya a.^3),sin(a),cos(a),e tabanında logaritması için log(a),10 tabanında logaritmaları için log10(a)… biçiminde gerçekleştirebiliriz.
Örnek: a=[-1 3 5;2 1 7] , b=[3 -3 -4;1 1 5] ve
c=[1 0;-1 2;3 3] matrisleri veriliyor.
a) a matrisinin elemanları ile b matrisinin elemanlarını
karşılıklı çarpımlarından olusan c1 matrisi varsa bulalım.
b) a matrisi ile b matrisinin çarpım matrisi olan c2 varsa
bulalım.
c) a matrisinin elemanları ile c matrisinin elemanlarını
karşılıklı çarpımlarından olusan c3 matrisi varsa bulalım.
d) a matrisi ile c matrisinin çarpım matrisi olan c4 varsa
bulalım.
e) a matrisinin elemanlarının karelerinden olusan matris
ile b matrisinin kosinüslerinden olusan matrisler
toplamını bulalım.
f) x=[1 0;0 3] matrisinin i) Karesini ii) Kübünü iii) 10.
kuvvetini bulalım.
Çözüm:
a) İki matrisin karşılıklı elemanlarının çarpımından oluşan matrisin tanımlı olabilmesi için aynı mertebeli olması gerekir.Bu durumda c1 matrisi tanımlıdır ve bunu c1=a.*b islemi ile gerçeklestirebiliriz.
b) İki matrisin çarpılabilmesi için birinci matrisin sütun sayısı ikinci matrisin satır sayısına eşit olmalıdır.Halbuki a matrisi 2×3 b matrisi de 2×3 olduğundan bu iki matris çarpılamaz.
c) İki matrisin karşılıklı elemanlarının çarpımından oluşan matrisin tanımlı olabilmesi için aynı mertebeli olması gerekir.Halbuki bu matrisler aynı mertebeden
olmadığından bu iki matris eleman-elemana çarpma işlemi gerçekleşmez.
d) İki matrisin çarpılabilmesi için birinci matrisin sütun sayısı ikinci matrisin satır sayısına eşit olmalıdır.a matrisi 2×3 lük, c matrisi de 3×2 lik olduğundan bu iki matris çarpılabilir ve c4 çarpım matrisi 2×2 lik bir matris olur.c4 çarpım matrisini c4=a*c islemi ile buluruz.
e) a.^2+cos(b)
f) i) x^2 ii) x^3 iii) x^10
c) Bir Matrisin Devriğini (Transpozesi) Bulma İşlemi:
Bir matrisin satırlarını sütun,sütunlarını satır olarak yazılmasıyla bulunan matrise,bu matrisin devriği(transpozesi)denir.Bir matrisin devriğini .’ islemi ile bulabiliriz.
Örnek: Bir önceki örnekteki a matrisinin devriğini
buldurup d matrisine atayalım.
Çözüm: d=a.’;
d)İki Matrisin Bölümü,Birim Matris ve Bir Matrisin
Tersi:
Aynı mertebeden iki matrisin elemanlarını teker teker,bölerek,aynı mertebeye yazılmasına iki matrisin sol bölmesi denir ve bu ./ işlemi ile yapılır.
a, b ve c aynı mertebeden kare matrisler olmak üzere c=a*b ise a matrisine c nin b matrisine bölümü denir.c bölüm matrisi / islemi ile yapılır.
Esas kösegeni 1 sayılarından diğer elemanları 0 lardan oluşan kare matrise birim matris denir.
Örneğin:
1×1 lik birim matris [1],
2×2 lik birim matris [1 0;0 1],
3×3 lük birim matris [1 0 0;0 1 0;0 0 1],
4×4 lük birim matris [1 0 0 0;0 1 0 0; 0 0 1 0;0 0 0 1] dir.
Birim matris olusturmak için; eye fonksiyonunu kullanırız.
Örneğin;
2×2 lik i2 adlı birim matrisi i2=eye(2,2);
3x lük i3 adlı birim matrisi i2=eye(3,3); islemi ile oluşturabiliriz.Aynı mertebeden a ve b kare matrisleri için a ile b nin çarpımı birim matris ise b matrisi a matrisinin (aynı biçimde a matrisi de b matrisinin) ters matrisidir.
Örneğin 3×3 lük bir a kare matrisinin tersini bulmak için
eye(3,3)/a veya inv(a) islemini kullanırız.
Örnek:
a=[2 -10 0;1 2 4;3 0 1] matrisi ile b=[1 5 4;1 -1 2;0 1 -1]
matrisleri veriliyor.
a) a matrisinin elemanlarını sırasıyla b matrisinin
elemanlarına bölerek elde edilen matrisi b1 matrisine
atayalım.
b) a matrisinin ta ters matrisini bulalım.
c) a ile ta matrisinin çarpımının 3×3 lük birim matris
olduğunu gösterelim.
d) a matrisinin b matrisine bölümünü b2 matrisine
atayalım.
Çözüm:
a) b1=a./b b) ta=eye(3,3)/a veya ta=inv(a)
c) a*ta ==eye(3,3) d) b2=a/b
Matrisler İle İlgili Bir Uygulama:Lineer Denklem Sistemlerinin Çözümü:
Matris ile ilgili işlemlerin bir çok uygulama sahası vardır.Bunlardan biri de lineer denklem sistemlerinin çözümüdür.Bunun için önce katsayılar matrisi elde edilir,
bu matris a olsun.Denklem sistemindeki eşitliklerin sağ tarafındaki sabit sayılardan oluşan matris b olsun.Bilinmeyenlerden oluşan matris x olmak üzere denklem sistemi ax=b matris esitliği biçimine getirilmiş olur.Buradaki x bilinmiyenler matrisini bulmak için,a nın tersi ile b matrisini çarparız yani
inv(a*b) işlemini yaparız.
Örnek:
2x-3y+z= 15
x-z = -3
x+y+z = 2 denklem sistemini çözelim.
Çözüm:
a=[2 -3 1;1 0 -1;1 1 1 ]; b=[15;-3;2]; x=inv(a)*b