MATLAB’ TA DIZILER DERS İÇERIĞI Diziler Vektörler Vektörün oluşturulması Vektör İşlemleri Polinomlar Matrisler Matrislerin Oluşturulması Matris İşlemleri DIZILER Dizi ; içerisinde sayısal veya metinsel değerler barındıran kümedir. MATLAB uygulamalarında temel yapı dizilerdir. Diziler temelde iki gruba ayrılır Vektörler Matrisler Bu dersimizde sadece sayısal değerler içeren diziler üzerinde duracağız. VEKTÖRLER Tek boyutlu dizilere “Vektör” adı verilir. Tek boyutlu oldukları için boyutları, 1xN : Tek satır, N sütun yada Mx1: M satır, Tek Sütun şeklinde gösterilir Örnek : 1x4 boyutunda vektör : [1 2 3 4] 4x1 boyutunda vektör : [ 1 2 3 4] VEKTÖRLER MATLAB ta vektör oluşturmanın 3 temel farklı yolu vardır. Köşeli parantez kullanarak vektör oluşturma Eşit aralıklı elemanlar kullanarak; “:” işaretini kullanarak veya “linspace”, “logspace” komutlarıyla Fonksiyonlar kullanılarak KÖŞELI PARANTEZ YÖNTEMI Standart özelliklere sahip olmayan, küçük boyutlu vektörlerin oluşturulmasında en iyi yöntemdir. Tek satırlık vektörler Tek sütunluk vektörler V=[ e1, e2,e3] veya V=[e1 e2 e3] V=[e1;e2;e3] şeklinde vektör oluşturulur. Örnek: V=[1 5 6 9] vektörü V=[1 5 6 9] yada V=[1,5,6,9] şeklinde oluşturulabilir. SABIT ARALIKLI VEKTÖR OLUŞTURMA Elemanları sabit aralıklarla artan yada azalan vektörler oluşturmak için “:” yazım şekli kullanılır. V= İlkDeğer : DeğişimMiktarı : SonDeğer Örnek: V=1:2:10 komutu ile oluşan vektör V=[1 3 5 7 9] V=0:4 komutu ile oluşan vektör V=[0 1 2 3 4] Değişim miktarı girilmediği için 1 kabul edilmiştir. V=0:-2:10 komutu yazıldığında hata mesajı alınır. SABIT ARALIKLI VEKTÖR OLUŞTURMA “linspace” ve “logspace” fonksiyonları ile vektör oluşturulduğunda başlangıç ve bitiş değerleri arasında kaç nokta olacağı belirlenebilir. Vektörü “linspace” lineer olarak, “logspace” logaritmik olarak parçalara ayırır. linspace(x1,x2,n) logspace(x1,x2,n) x1: İlk Değer x2:Son Değer n:nokta sayısı Örnek : V=linspace(1,10,4) komutu ile oluşan vektör V=[1,4,7,10] FONKSIYONLARLA VEKTÖR OLUŞTURMA Fonksiyonlar kullanılarak vektör oluşturma iki şekilde gerçekleştirilir. “rand” fonksiyonu kullanılarak rastgele değerler üretme V=a + (b-a)*rand(m,n) V vektörü a ile b arasında dağılmış rastgele sayılardan oluşur. m ve n vektörün boyutunu göstermektedir. Örnek: a=1 ile b=5 arasında rastgele 6 sayı üretmek için komutumuz V=1+(5-1)*rand(1,6) dır. FONKSIYONLARLA VEKTÖR OLUŞTURMA • • “ones” fonksiyonu ile sadece tek bir elemandan oluşan vektörler oluşturulabilir. “ones” fonksiyonu kullanım şekli: V=x*ones(m,n) “x” elemanın ne olduğunu m,n vektörün boyutunu gösterir. “zeros” fonksiyonu ile sadece ‘0’lardan oluşan vektörler oluşturulabilir. “zeros” fonksiyonu kullanım şekli: V=zeros(m,n) Örnek: altilar= 6*ones(1,3) komutu sonucu altilar=[6 6 6] vektörü oluşur. VEKTÖR OLUŞTURMA – VIDEO DERS VEKTÖRLERDE ARITMETIK İŞLEMLER Vektörler üzerinde de tüm aritmetik işlemler yapılabilir ama çarpma ve bölme işlemi yapılacak vektörlerin boyutlarının aynı olması gerekmektedir. Örnek : v1[1 3 5] v2 [9 7 5] toplam=v1+v2 => toplam[10 10 10] carpim=v1*v2’ => carpim[55] İki vektörün karşılıklı elemanları arasında yapılacak işlemlerde ‘ . ’ kullanılır. Örnek : v1[1 3 5] v2 [9 7 5] carpim=v1.*v2 => carpim[9 21 25] VEKTÖRLERDE ARITMETIK İŞLEMLER Aritmetik İşlem Adı MATLAB Gösterimi Toplama Çıkarma v1+v2 v1-v2 Çarpma v1.*v2 Sağa bölme v1./v2 Sola bölme Üs alma v1.\v2 v1.^v2 Transpose v1’ İndeksleme v1(n) Örnek Uygulama V1=[1 2 3], V2=[-1 2 6] 0 4 9 2 0 -3 -1 4 18 Açıklama Karşılıklı elemanlar toplanır Karşılıklı elemanlar çıkartılır Karşılıklı elemanları çarpılır -1.00 1.00 0.50 v1 dizisinin her elemanı, sırasıyla v2 dizisinin her elemanına bölünür -1 1 2 Sağa bölmenin tersi 1 4 729 v1 dizisindeki her elemanın, sırasıyla v2 deki elemanlarla üslerini alınır 1 Satır vektörünü sütun vektörüne çevirir veya tersini 2 yapar. 3 a(1)=1, b(3)=6 Vektörün n. elemanını verir VEKTÖRLERE FONKSIYONLARI UYGULAMAK : Verilerin en büyük değerlisini bulur. : Verilerin en küçük değerini bulur :Veri uzunluğunu, kaç tane veri olduğunu bulur. sum : Verilerin toplamını verir Prod : Verilerin çarpımını verir median : Verilerin ortanca değerini bulur std : Verilerin standart sapmasını hesaplar mean : Verilerin ortalama değerini hesaplar geomean : Verilerin geometrik ortalamasını hesaplar harmean : Verilerin harmonik ortalamasını hesaplar sort : Verileri azalan sırada sıralar max min length POLINOMLAR Polinomlar özel tipte tanımlanmış fonksiyonlardır. Tek değişkenli n. dereceden bir polinomun genel şekli P(x) = anxn + an-1xn-1 + … + a1x + a0 n: polinomun derecesi a: polinomun katsayıları MATLAB’da polinomlar bir vektörle gösterilir. Vektörün elemanları x’in en büyük üssünden başlayarak, azalan sıradaki katsayılardır. Olmayan dereceler için 0 girilmelidir. Örnek: P(x) = 5x3 - 6x2 + 10x - 3 polinomu >> P_x = [5 -6 10 -3] şeklinde gösterilir. POLINOM İŞLEMLERI Polinom toplama - çıkarma için bir fonksiyon sağlamaz. Her iki polinom aynı büyüklükte ise standart dizi işlemleri yapılır. Polinomların Çarpımı: “conv(P,Q)” fonksiyonu ile yapılır. Sonuç yine bir polinomdur. Polinomların Bölümü “deconv(P,Q)” fonksiyonu ile yapılır. Kullanım şekli : [B, K] = deconv(P,Q) B : Bölüm, K : Kalan POLINOM FONKSIYONLARI polyval(p,k) fonksiyonu Polinomun x=k için alacağı değeri hesaplar. Örnek P(x) = x3 + x polinomunun x=2 için çözümü >> p=[1 0 1 0] >>polyval(p,2) >> 10 roots(P) fonksiyonu Polinomların köklerini bulmak için kullanılır. Örnek : P(x) = x4 + 3x3 -15x2 - 2x + 9 polinomunun köklerini bulmak için : >> kokler = roots([1 3 -15 -2 9]) POLINOM FONKSIYONLARI poly(root) fonksiyonu Kökleri belli olan bir polinom oluşturur. Örnek : Kökleri -4 ve 3 olan polinom : >> poly = poly([-4 3]) polyder(P) fonksiyonu Polinomun türevini almak için kullanılır. Örnek: >> P = [-7 -3 1 14] >>pturev = polyder(P) MATRISLER Bir F matrisi en genel olarak aşağıdaki şekilde gösterilir F12 F22 . . Fm 2 2. sütun 1. sütun F11 F 21 F ... ... Fm1 F1n 1. satır ... F2 n 2. satır . ... . ... . Fmn mxn ... MATRISLER 2 veya daha çok boyutlu dizilere “Matris” adı verilir. Matrisler m x n boyutlu dizilerdir. m: satır sayısı n: sütun sayısını gösterir. Örnek : 2 x 2 boyutlu bir matris [a11 a12 a21 a22] MATLAB TA MATRIS OLUŞTURMA MATLAB ta 3 farklı yolla matris oluşturulabilir. Köşeli parantez kullanarak matris oluşturma Utility Fonksiyonlarını kullanarak matris oluşturma Özel matrisler oluşturma KÖŞELI PARANTEZ YÖNTEMI En sık kullanılan yöntemdir. MatrisAdı = [ 1.satır ; 2.satır ; 3.satır] şeklinde formülüze edilebilir. Örnek: A=[ 11 12 13 21 22 23 ] matrisi şu komutlarla oluşturulabilir. >> A=[ 11 12 13; 21 22 23] >> A=[ 11,12,13; 21,22,23] >> A=[ 11 12 13; 21 22 23] Matrisler sadece skaler değerlerden oluşabileceği gibi içerisinde fonksiyonlarda barındırabilir. Örnek : A=[ 1,3,4 ; sqrt(4), cos(60),4^2] UTILITY FONKSIYONLARIYLA MATRIS OLUŞTURMA “rand” fonksiyonu kullanılarak rastgele değerler içeren matris üretme Genel kullanım şekli: M=a + (b-a)*rand(m,n) M matrisi a ile b arasında dağılmış rastgele sayılardan oluşur. m ve n matrisin boyutunu göstermektedir. Örnek: a=1 ile b=5 arasında rastgele değerler içeren 3x4 boyutunda bir matris üretmek için komutumuz >> M=1+(5-1)*rand(3,4) UTILITY FONKSIYONLARIYLA MATRIS OLUŞTURMA • • “ones” fonksiyonu ile sadece tek bir elemandan oluşan matrisler oluşturulabilir. “ones” fonksiyonu kullanım şekli: M=x*ones(m,n) “x” elemanın ne olduğunu m,n matrisin boyutunu gösterir. “zeros” fonksiyonu ile sadece ‘0’lardan oluşan matrisler oluşturulabilir. “zeros” fonksiyonu kullanım şekli: M=zeros(m,n) Örnek: altilar= 2*ones(2,2) komutu sonucu altilar=[2 2 ; 2 2] matrisi oluşur. UTILITY FONKSIYONLARIYLA MATRIS OLUŞTURMA “eye” fonksiyonu kullanılarak birim matris oluşturulur. Birim Matris: Köşegen elemanları “1” diğer elemanları “0” olan matristir. Genel kullanım şekli : M=eye(m,n) Örnek: 3x3 boyutlarında bir birim matris üretmek için komutumuz >> M=eye(3,3) ÖZEL MATRISLER OLUŞTURMA pascal(k) fonksiyonu magic(k) fonksiyonu k. sıraya kadar pascal üçgeninin elemanlarından oluşan k x k boyutunda bir matris oluşturur. k x k uzunluğunda 1’den k’ya kadar sayılardan oluşan eşit değerli satır, sütun ve köşegen toplamına sahip bir kare matris oluşturur. Bunların dışında matris oluşturmak için kullanılan birçok fonksiyon bulunmaktadır. toeplitz,hankel, hadamard, rosser, wilkinson vb... MATRISLERDE ARITMETIK İŞLEMLER İşlem Matlab Formu Toplama a+b Çıkarma a-b Çarpma a*b Bölme a/b Örnek a=[1 2 ;-2 5], b=[-1 3; 4 2] 0 5 2 7 2 -1 -6 3 Açıklama Aynı boyda matrislerin karşılıklı elemanları toplanır Aynı boyda matrislerin karşılıklı elemanları çıkartılır Matris çarpım kuralına göre işlem yapılır. İki matrisin 7 7 çarpım kuralı: 1. matrisin 22 4 sütun sayısı, ikinci matrisin satır sayısına eşit olmalıdır. -1 yani a*inv(b) kuralına a·b 0.4286 0.3571 göre işlem yapılır. İnv, 1.7143 -0.0714 matrisin tersi demektir. MATRISLERDE ARITMETIK İŞLEMLER İşlem Üs alma Skaler işlem dort işlem Matlab Formu a^5 3*a a.^5 Örnek a=[1 2 ;-2 5], b=[-1 3; 4 2] -567 -810 3 -6 1 -32 810 1053 Açıklama an için n tane matris yan yana çarpım kuralına göre çarpılır. N skalerdir ve matrisin kare matris olma koşulu vardır. 6 15 n bir skaler sayı olmak üzere n*a işleminde matrisin herbir elemanı n ile çarpılır. Diğer işlemler içinde aynı şekilde kullanılır. 32 3125 Nokta işaretli işlemler, matrislerde elemanter işlem yapılacağını gösterir. n skaler olmak üzere a.^n, a matrisindeki herbir elemanın n. kuvvetinin alınacağını ifade eder. MATRISLERDE ARITMETIK İŞLEMLER VIDEO DERS MATRIS BILGI ALMA FONKSIYONLARI İşlem Determinant Transpoze Matlab Formu a’ inv(a) Boyu size(a) Açıklama 9 det(a) fonksiyonu ile matrisin determinantı hesaplanır 1 -2 2 5 Satır – sütun yer değiştirir det(a) Ters alma Köşegen Örnek a=[1 2 ;-2 5], 0.56 0.22 0.22 0.11 2 2 1 inv(a) ile matris ters alma kuralına göre işlem yapılır. Matrisin kare matris olma zorunluluğu vardır. Matrisin boyutlarını verir. Matrisin köşegen NELER ÖĞRENDIK Vektörün ne olduğunu Vektörlerin nasıl oluşturulduğunu Vektörlerde işlemlerin nasıl yapıldığını Polinomlarda işlemlerin nasıl yapıldığını Matrisin ne olduğunu Matrislerin nasıl oluşturulduğunu Matrislerde işlemlerin nasıl yapıldığını