Birim Vektör A vektörünün birim vektörü uA olsun A vektörü ile aynı yön ve doğrultuda fakat normu yani uzunluğu 1 olan vektöre birim vektör denir ve aşağıdaki gibi hesaplanır. Örnekleri inceleyelim. uA A A (1) >> A A= 1 2 5 6 >> UA=A/norm(A) UA = 0.1231 0.2462 0.6155 0.7385 UA vektörü A vektörünün birim vektörüdür denir. İki vektör arasındaki açı hesaplama İki vektör arasındaki açı aşağıdaki ifade ile hesaplanır. cos ( A, B) A B >> A=[1 2 3] A= 1 2 3 >> B=[5 8 1] B= 5 8 1 >> tet=acos(dot(A,B)/( norm(A)*norm(B) ) ) tet = 0.8283 (2) Yukarıdaki örnekde A ve B vektörü arsasındaki açı tet adında bir değişkene atanmış ve sonuç ise radyan cinsinden elde edilmiştir. İstenildiği taktirde 3.14 rad. 180° eşitliği kullanılarak dönüşüm gerçekleştirilir. Burada acos ifadesi arccosinüs olup kosinüs fonksiyonunun tersini temsil etmektedir. Matlab ortamında ters fonsiyon acos ve asin ifadeleri ile belirlenir. İki vektörün ortoganallik şartı: İki vektör arasındaki açı 90° ise bu iki vektör ortoganaldir denir . Diğer bir deyişle denklem (2) ile verilen ifade 0 ise burada A ve B vektörleri ortoganaldir olarak düşünülür. ( A, B) 0 A B cos (3) Bir vektörün diğer bir vektör üzerinde izdüşümü A vektörünü B vektörü üzerindeki iz düşümü x vektörü olsun. X vektörü aşağıdaki gibi hesaplanır. x ( A, B) ( A, B) B B 2 ( B, B ) B örnek >> A A= 1 2 3 8 1 >> B B= 5 >> x=(dot(A,B)/(norm(B)^2))*B x= 1.3333 2.1333 0.2667 (4) A x B MATRİSLER Daha öncede belerttiğimiz gibi vektörler tek boyutku sayı dizleri matrisler ise iki boyutlu sayı dizileridir. M satır sayısı n sütun sayısı olmak üzere mxn boyurunda bir matris aşağıdaki gibi yazılır. a11 a12 ... a1n a a22 ... a2 n 21 A , . . . . am1 am 2 ... amn Satır sayısı ile sütun sayısı eşit olan matris kare matris olarak ifade edilir. A matrisinde aij elemanı A matrisinin i.satırının j.sütununun elemanıdır. Matlab ortamında matris iki türlü tanımlanır. Birincisi daha önce bahsettiğimiz gibi her satırın son elemanı sonuna “;” işareti konarak bütün elemanlar yan yana yazılır. İkinci yöntem ise matris aynen yazıldığı formda girilir. Aşağıdaki örnekleri inceleyelim. Örnek: >> A=[1 2 3; 4 5 3; 2 2 1;] A= 1 2 3 4 5 3 2 2 1 Örnek: >> A=[1 2 3 456 7 8 9] A= 1 2 3 4 5 6 7 8 9 Örnek: >> A A= 1 2 3 3 >> A(1,2) ans = 2 >> A(1,1) ans = 1 MATRİS TRANSPOZU Bir matrisin satırları ile sütunlarının yer değiştirilmesi elde edilen matrise o matrisin transpozu denir. A matrisnin transpozu B ise B=AT ile ifade edilir. Matlab ortamında bu işlem “ ’ ” ifadesi ile gerçekleştirilir. Aşağıdaki örnekleri inceleyelim. Örnek >> A A= 1 2 3 4 5 6 7 8 9 >> B=A' B= 1 4 7 2 5 8 3 6 9 BİRİM MATRİS Ana köşegen üzerindeki elemanları 1, bunun dışındaki bütün elemanları 0 olan matrise birim matris denir. 1 0 0 I 0 1 0 0 0 1 Matlab ortamında birim matrisi tanımlarken “ eye” komutu kullanılır. Eye komutu kullanırken parantez içine birim matrisin boyutları yazılır. Örneğin eye(2) veya eye(2,2) komutu 2x2 boyutunda birim matris oluşturulur. örnek >> eye(2) ans = 1 0 0 1 örnek >> eye(2,2) ans = 1 0 0 1 Matlab ortamında size komutu herhangi bir matris veya vektörün boyutunu tanımlamak için kullanılır. örnek >> A=[1 2 3; 5 6 2] A= 1 2 3 5 6 2 >> [m,n]=size(A) m= 2 n= 3 Yukarıdaki örneğe baktığımızda size komutu İle tanımlanan 2x3 boyutlarındaki matrisin satır sayısı m , sütun sayısı ise n değişkenine atanmıştır. Örnek >> A A= 1 2 3 5 6 2 >> eye(size(A)) ans = 1 0 0 0 1 0 Matrisin skaler bir sayı ile çarpımı Bir matrisi skaler bir sayı ile çarpmak demek o matrisin bütün elemanlarını o skaler sayı ile çarpmak demektir. Aşağıdaki örnekleri inceleyelim. >> A=[1 2; 3 3] A= 1 2 3 3 >> 2*A ans = 2 4 6 6 >> 2*A-1 ans = 1 3 5 5 Matrislerin toplanması ve çıkartılması Matrislerde toplama ve çıkarma işlemi yapılabilmesi için ele alınan iki matrislerin boyutları eşit olması gerekir. Eğer boyutlar eşit olan iki matris toplanacakca aynı indilere sahip elemanlar kendi arlarında toplanarak aynı indis yerine yazılır. Aşağıdaki örnekleri inceleyelim >> A A= 1 2 3 3 >> B=[1 5; 8 9] B= 1 5 8 9 >> A+B ans = 2 7 11 12 >> A-B ans = 0 -3 -5 -6 Matrislerin çarpımı İki matrisin çarpma işlemine tabi tutulabilmesi için birinci matrisin sütün sayısı ikinci matrisin satır sayısına eşit olmalıdır. Örneğin A matrisi mxn boyutunda olsun . Eğer B matriside nxk boyutunda ise C=AxB matrisi elde edilebilir. Aşağıdaki örnekleri inceleyelim. >> A=[1 2 3] A= 1 2 3 >> B=[2; 3; 4] B= 2 3 4 >> A*B ans = 20 Yukarıdaki örnekte 1x2+2x3+3x4=20 elde edilir. Ters matris A matrisinin tersi B olsun. Bu durumda bu iki matrisin çarpımı birim matrise eşit olacaktır. A * B I , B A1 , A * B B * A I Matlab ortamında bir matrisin tersi inv() fonksiyonu ile gerçekleştirilir. Aşağıdaki örnekleri inceleyelim. >> A=[2 1; 4 3] A= 2 1 4 3 >> B=inv(A) B= 1.5000 -0.5000 -2.0000 >> A*B ans = 1.0000 1 0 0 1 Matrisin tersi alma işlemi “ ^ ” operatörü ilede gerçekleştirilir. >> A A= 2 1 4 3 >> A^-1 ans = 1.5000 -0.5000 -2.0000 1.0000 Matrisin rankı Bir matrisin rankı tamamı 0 olmayan satırların sayısıdır. Matlab ortamında bir matrisin rankı rank () komutu ile hesaplanır. Aşağıdaki örnekleri inceleyelim. örnek >> A=[0 0 ; 1 2] A= 0 0 1 2 >> rank(A) ans = 1 örnek >> B B= 1.5000 -0.5000 -2.0000 1.0000 >> rank (B) ans = 2 Not: Matlab ortamında değişken tanımla çok önemlidir. Değişken tanımlama yazılırken her zaman sol taraftaki ifade değişkenin adı, sağ taraftaki ifade ise değişkenin değeri olmadır. (a=2, b=3.3, c=b vs…) Ayrıca matlab büyük –küçük karakter ayrımı yapmaktadır. Dolayısıyla A=2 ile a=3 ifadeleri iki farklı değişkendir. Matrisin kuvveti Matlab ortamında tanımlanan matrisin her bir elemanın tek tek kuvvetleri alınmak istediğinde .^ işlemi kullanılır. Bu işlem matrisin skaler olarak üst alma işlemini gerçekleştirir. Aşağıdaki örnekleri inceleyelim. Örnek >> A=[1 3; 4 3] A= 1 3 4 3 >> A.^2 ans = 1 9 16 9 Yukarıda yaptığımız işlemi A^2 işlemi ile karıştırılmamalıdır. A^2 işlemi A matrisi kendisi ile matris çarpma işlemine tutulmasıdır. (AxA). Örnek: >> A=[1 3; 4 3] A= 1 3 4 3 >> A.^2 ans = 1 9 16 9 >> A^2 ans = 13 12 16 21 MATİSİN DETERMİNANTI Bir matrisin determinantı tek bir skaler sayıdır. Örneğin basitlik olması açısından 2x2 boyutunda bir matrisin determinantı hesaplanırken; a a A 11 12 , a21 a22 A a11 * a22 a12 * a21 Fakat bu basit işlem matris boyutları arttıkça geçerliliğini kaybetmekte, zorlaşmaktadır. Matlab ortamında matrisin boyutları ne kadar büyük olursa olsun determinant hesabı oldukça kolaydır. det( ) komutu matlab ortamında bir matrisin determinantı hesaplamada kullanılır. Aşağıdaki örnekleri inceleyelim. Örnek: >> A=[1 2 3; 4 2 5; 5 6 8] A= 1 2 3 4 2 5 5 6 8 >> det(A) ans = 14.0000 ÖZDEĞER VE ÖZ VEKTÖRLER A bir kare ve I birim matris olmak üzere det( A I ), İfadesini 0 yapan değerlerine A matrisinin öz değerleridir denir. Aynı zamanda Ax x 0 ifadesinde 0 olmak üzere eşitliği sağlayan x değerlerine A matrisinin öz vektörü denir. Örnek: 2 5 A , matrisinin özdeğerlerini bulunuz. 1 2 det( A I ), 2 A 1 , 2 5 (2 )(2 ) 5(1) 1 i, 2 i Matlab ortamında bir matrisin öz değerleri eig ( ) fonksiyonu kullanılarak elde edilir. Aşağıdaki örnekleri inceleyelim. >> A A= 2 5 -1 -2 >> eig(A) ans = -0.0000 + 1.0000i -0.0000 - 1.0000i [m,n]=eig(A) ifadesi m sütunları A matrisinin öz vektörlerinden oluşur, n ise köşegenlerinde A matrisinin öz değerlerini bulunduran matrisidir. (Sistemin öz değerleri doğal frekans kareleridir.) Aşağıdaki örnekleri inceleyelim Örnek: >> A A= 2 5 -1 -2 >> [m,n]=eig(A) m= 0.9129 -0.3651 + 0.1826i 0.9129 -0.3651 - 0.1826i n= -0.0000 + 1.0000i 0 0 -0.0000 - 1.0000i [Q,R]=qr(A) A matrisini Q ve R adında iki matrisin çarpımı haline getirir. Aşağıdaki örnekleri inceleyelim. Örnek: >> A A= 2 5 -1 -2 >> [m,n]=qr(A) m= -0.8944 0.4472 0.4472 0.8944 n= -2.2361 -5.3666 0 0.4472 >> m*n ans = 2.0000 5.0000 -1.0000 -2.0000 [s, v, d]=svd(A) A matrisini s, v, d adında üç matrisin çarpımı haline dönüştürür. Örnek: >> A A= 2 5 -1 -2 >> [s,v,d]=svd(A) s= -0.9239 0.3827 0.3827 0.9239 v= 5.8284 0 0 0.1716 d= -0.3827 -0.9239 -0.9239 >> s*v*d 0.3827 ans = 2.0000 5.0000 -1.0000 -2.0000 Orth Fonksiyonu Ve Ortonormalizasyonu Herhangi bir A kare matrisi ile aynı boyutta olan bir Q matrisi ve bu Q matrisinin transpozesinin çarpımı birim matrisi veriyorsa Q matrisi A matrisi için ortonormal biz baz oluşturur. MATLAB’DA bir A matrisinden ortonormal baz oluşturmak için “orth” fonksiyonu kullanılır. Aşağıdaki örnekleri inceleyelim Örnek: >> A=[1 2 4; 3 2 1; 8 5 9] A= 1 2 4 3 2 1 8 5 9 >> Q=orth(A) Q= -0.2967 0.7323 -0.6130 -0.2339 -0.6781 -0.6968 -0.9259 -0.0634 0.3725 >> Q*Q' ans = 1.0000 0.0000 0.0000 0.0000 1.0000 0 0.0000 0 1.0000 % BU BİR BİRİM MATRİSİDİR. BÖLÜM 3: MANTIKSAL İŞLEMLER Programlama dillerin birçoğunda sonucun doğru olası (1) yanlış olması (0) ile gösterilir. Karşılaştırma operatörleri Bu operatör iki değişkenin değer bakımından karşılaştırmasını yapar. Eğer doğru ise (1) yanlış ise (0) değeri oluşur. Aşağıdaki tabloda karşılaştırma operatörleri gösterilmiştir. OPERATÖR == ~= > >= < <= AÇIKLAMA Eşittir. Eşit değildir. Büyüktü Büyük eşittir Küçüktür Küçük eşittir. Kısaltması eq(x,y) ne(x,y) qt(x,y) ge(x,y) lt(x,y) le(x,y) Aşağıdaki örnekleri inceleyelim. Örnek: >> 5>1 ans = 1 Yukarıdaki örnekte görüldüğü gibi büyüktür karşılaştırma operatörü kullanılmıştır. 5 büyük müdür 1’den , EVET doğru ( 1 ). Örnek: >> 1>5 ans = 0 Bu örnekte yine büyüktür operatörü kullanılmıştır. 1 büyük müdür 5’den hayır yanlış (0). Örnek: >> 5==5 ans = 1 Örnek: >> 9~=6 ans = 1 9 eşit değil midir 6’ya , EVET (eşit değildir) doğru (1). Örnek: >> 'A'<'B' ans = 1 Yukarıdaki örnekte tırnak içi ifadeler string olarak değerlendirilir ve alfabetik sıralamasına bakılır. Örnek: >> A=[1 2; 5 6] A= 1 2 5 6 >> A>3 ans = 0 0 1 1 Yukarıdaki örnekte A matrisi bir skaler ile (3) karşılaştırılmıştır. Bu durumda A matrisinin elemanları ayrı ayrı bu skaler ile karşılaştırılır ve değerleri yazılır.