MATLAB’de Diziler; Vektörler ve MAtrisler
Skaler, Dizi, Matrix Sklaer, bir adet sayı değerine sahip değişkendir. Diziler, birden fazla değer barındıran değişkenlerdir. İki boyutlu diziler, iki boyutlu rakam tablolarıdır, diğer adleri matrixlerdir. Dizi indeksi veya adresleme, dizi içerisindeki bir sayının yerini ifade etmede kullanılır.
Vektör diziler A 23 45 -1 1.24 78 A(1) A(2) A(3) A(4) A(5) Dizinin elemanları alt simgeler ile çağrılır, Örneğin A(1) birinci elemanı, A(5) beşinci elemanı göstermektedir. Parantez içerisindeki rakam indeks, adres veya dizideki elemanın yerini belirtmede kullanılır. Bir vektör elemanı, parantez içerisine yazılan tam sayı olan indeksle (veya alt simge) çağrılabilir.
Matrix Diziler Matrix dizileri iki boyutludur, hem satırları hem de sütunları vardır. 1 2 3 4 23 12 75 48 3 36 15 45 4 55 13 1 2 3 B(1,1)=23, B(1,2)=12, B(1,3)=75, B(1,4)=48 B(2,1)=3, B(2,2)=36, B(2,3)=15, B(2,4)=12 B(3,1)=45, B(3,2)=4, B(3,3)=55, B(3,4)=13 2. satırdaki ve 3. sütundaki elemana ulaşmak için B(2,3 kullanılmalıdır. Parantez içerisindeki ilk rakam satır sayısını, ikinci rakam (virgülden sonra) sütun sayısını göstermektedir.
Vektör Oluşturma for i=1:5 fprintf('A(%d)=',i) A(i)=input(' '); end A Bir vektör, elemanlarının iki parantez arasında girilmesi ile doğrudan üretilebilir, elemanları birbirinden ayırmak için boşluk veya virgül kullanılır. Klavyeden giriş Doğrudan giriş A = [1 3 -34 0 5] veya A=[1, 3, -34, 0, 5] for i=1:5 fprintf('A(%d)=',i) A(i)=input(' '); end A
Örnek 1 Vektör eleman sayısının dışarıdan girildiği ardından vektörün elemanlarının birer birer girildiği son olarak elemanların karelerinin toplamının bulunduğu bir Matlab programı yazınız. N=input(‘Vektör eleman sayısını giriniz=’); t=0; for i=1:N fprintf('A(%g)=',i); A(i)=input(''); end t=t+A(i)*A(i); fprintf(‘Sonuç=%g', t)
Matris Oluşturma Bir matris elemanlarını iki köşeli parantez arasında aralarında boşluk veya virgül kullanılarak oluşturulabilir. Matrisin satırları noktalı virgül ile ayrılmalıdır. Klavyeden giriş Doğrudan giriş B = [1 3 -34 ; 0 5 4 ; -5 9 7] veya B=[1, 3, -34 ; 0, 5, 4 ; -5, 9, 7] for i=1:2 for j=1:3 fprintf('B(%g,%g)=',i,j) B(i,j)=input(' '); end B
Örnek 2 Elemanları 0’dan başlayan ve 50’ye kadar 4’erli artan bir vektör üreten Matlab programı yazınız.
Dizi İşlemleri Bir dizinin skaler ile toplama, çıkarma, çarpma ve bölme işlemleri İki dizi aynı boyutta ise toplama, çıkarma, çarpma ve bölme işlemleri eleman-eleman şeklinde gerçekleştirilir.
Bir skaler ile çarpma Aşağıdaki A matrisini 2 ile çarpan Matlab programı yazınız. A=[2 3 ; 1 4]; for i=1:2 for j=1:2 C(i,j)=2*A(i,j); end C veya C=2*A
Örnek 3 A=[1 3; 4 2]; for i=1:2 for j=2:2 A(i,j)=3*A(i,j); end A Yalnızca ikinci sütununu 3 ile çarpan bir Matlab programı yazınız. A=[1 3; 4 2]; for i=1:2 for j=2:2 A(i,j)=3*A(i,j); end A
Toplama ve Çıkarma İki dizi aynı boyutta ise toplanabilir veya çıkarılablilir. A=[2 3 ; 1 4]; B=[6 -1 ; 0 5]; for i=1:2 for j=1:2 C(i,j)=A(i,j)+B(i,j); end C veya C=A+B İki matrisin toplanması
max(A) min(A) sum(A) mean(A) length(A) size(A) A(:,1) A(1,:) Bazı Dizi Komutları max(A) min(A) sum(A) mean(A) length(A) size(A) A(:,1) A(1,:)
Matris transpozu A=[1 3 0; 4 2 -3]; for i=1:2 for j=1:3 B(j,i)=A(i,j); Matris transpozu, matrisin satırları ile sütunlarının yer değiştirilmesi ile üretilir. Diğer bir deyişle transpozu alınan matris, verilen matrisin satırlarının sütun haline getirildiği matristir. A=[1 3 0; 4 2 -3]; for i=1:2 for j=1:3 B(j,i)=A(i,j); end B >> A=[1 3 0; 4 2 -3]; >> B=A' B = 1 4 3 2 0 -3