Professional Documents
Culture Documents
container =
[1] 'string islemleri' [3x3 double] 'yeni string'
Struct veri yapısı ise C’deki struct yapısının bir benzeridir. Her türlü
değişken struct içerisinde saklanabilir. Yukarıda tanımladığımız str ve container
değişkenlerini s struct’ı içinde şu şekilde tanımlayabiliriz.
s = struct('String', str, 'Container', container);
10:12 Dr. A. Muttalip ŞAHINASLAN 195 / 375
string Birleştirme
Görüldüğü gibi MatLab string’leri girildiği gibi (boşluk veya başka bir karakter
eklemeden) birleştirir. Bu şekilde kullanımı dışarıdan bir fonksiyona parametre
yollayacağımız vakit kullanmamız gerekir. Ama araya boşluk koymayı unutmamalı. Ör:
Bunun yanı sıra aynı uzunlukta string’leri de alt alta ekleyebiliriz. Bunun
için “;” karakteri stringl’er arasına eklenir. Eğer string’ler aynı boyda değilse
hata mesajı alırsınız.
>> strMatrix(1,7)
ans =
1
strcat('string1','string2','string3')
7 8 9
10:12 Dr. A. Muttalip ŞAHINASLAN 199 / 375
MatLab’ de Değişken Türleri ve Değer Atamaları
Herşey matris?
» length(S) » S(3)=16
ans = S=
5 1 7 16 21 2
» V= 1 : 5 » X = 10 : –2 : 1
V= X=
1 2 3 4 5 10 8 6 4 2
C=
1.0000 1.6000 2.2000 2.8000 3.4000 4.0000
Ör: 1’den başlayarak 0.5 artış değerleri ile 5’e kadar sayılardan oluşan bir
vektör tanımlayınız?
» % C1 Vektörünün tanımlanması
» C1= 1 : 0.5 : 5
C1 =
1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 4.5000 5.0000
c= ans = 1 2 3
6 43
4
43 » c(1)=67 A 4 5 6
» length(c) c= 7 8 9
67
ans = 4
3 43
10:12 Dr. A. Muttalip ŞAHINASLAN 205 / 375
İp Uçları !!!
Bir satır veya sütun vektörü içerisinde tek bir for döngüsü
kullanılarak kolaylıkla gezilebilir.
Eğer bu amaçla oluşturulacak bir for döngüsü i adında bir döngü
değişkeni ile kontrol edilirse, bu i aynı zamanda dizinin indislerini de
temsil etmiş olur.
for i=1:length(A)
fprintf('%d\n',A(i));
end
M=
4 –15 3 27
1 9 16 –7
123 25 34 2
D=
0 1.0000 2.0000 3.0000 4.0000
2.0000 3.0000 4.0000 5.0000 6.0000
1.0000 1.5000 2.0000 2.5000 3.0000
M= 1 6 13 25 » sTs = size(M,1)
2 8 24 33
–1 87 43 56 sTs = 3
» M=[1 6 13 25 ; 2 8 24 33 ; –1 87 43 56 ]
M= 1 6 13 25
2 8 24 33
–1 87 43 56
M= 1 6 13 25
2 8 24 33
–1 87 43 –25
linspace(i_değer,s_değer)
i_değer : ilk değer
logspace(i_değer,s_değer) s_değer : son değer
» F=linspace ( 1, 8, 10 )
F=
Columns 1 through 7
1.0000 1.7778 2.5556 3.3333 4.1111 4.8889 5.6667
Columns 8 through 10
6.4444 7.2222 8.0000
» G=logspace ( 1, 2, 10 )
G=
Columns 1 through 7
10.0000 12.9155 16.6810 21.5443 27.8256 35.9381 46.4159
Columns 8 through 10
59.9484 77.4264 100.0000
function enBuyuk=DizininMaksimumunuBul(A)
enBuyuk=A(1); %Dizinin ilk elemani en buyuk olsun
for i=2:length(A) %Kac elemanli bir vektor acaba?
if A(i)>enBuyuk
enBuyuk=A(i);
end
end
Komut Penceresi
» B= [2, 4, –5, 6, 7, 99, –132, 126];
» DizininMaksimumunuBul(B)
ans= 126
» DizininMaksimumunuBul( [2, 4, –5, 6, 7, 99, –132, 126] )
ans= 126
10:12 Dr. A. Muttalip ŞAHINASLAN 215 / 375
İki Kodlama Arasındaki 10 Farkı Bulunuz
>>A=[ ]
>>A=[A 1]
>>A=[A 2]
>>A=[3 A]
Komut Penceresi
» DiziSadeceBirlerMiIceriyor([–8 4 6 25 1])
ans=
1
10:12 Dr. A. Muttalip ŞAHINASLAN 218 / 375
Uygulama – 6.6
function sonuc=DiziSadeceBirlerMiIceriyor(B)
sonuc=1 ; %Dizinin Sadece 1 Degeri Icerdigini Kabul Et
for i=1:length(B)
if B(i)~=1 %En Az 1 Adet Aksi Ornek Mevcutsa ÇALIŞAN
sonuc=0 ; %Kabulu Degistir ÇÖZÜM
zeros fonksiyonu ile sadece 0 ’lar içeren bir matrisin otomatik olarak
oluşturulması.
Üretilmek istenen matris kare bir matris ise yani n satır sayısı,
m sütun sayısına eşit ise zeros(n,n) yerine sadece zeros(n)
kullanılabilir.
» zeros (1, 3)
» zeros (3, 1) zeros(3,5) fonksiyonu
acaba fix(rand(3,5))
» zeros (4, 4)
fonksiyonu ile aynı sonucu
» zeros (4) üretir mi?
» zeros (3, 5)
ones fonksiyonu ile sadece 1’ler içeren bir matrisin otomatik olarak
oluşturulması.
ones(n,m) fonksiyonu nxm boyutunda (n satırlı ve m sütunlu)
ve her bir elemanı 1 olan bir matris üretmek amacıyla kullanılır.
Üretilmek istenen matris kare bir matris ise yani n satır sayısı, m
sütun sayısına eşit ise ones(n,n) yerine sadece ones(n)
kullanılabilir.
» % P matrisini oluşturma
» H=[ 1 2 3 4 5 ; –4 5 –2 0 6 ; –7 2 5 –3 4 ]
H=
1 2 3 4 5
–4 5 –2 0 6
–7 2 5 –3 4
ans =
–10 9 6 1 15
10:12 Dr. A. Muttalip ŞAHINASLAN 231 / 375
sum Fonksiyonu
ans = 15
ans = 42
» B= 2 + 4 + 6 + 8 + 10 + 12= 42
Ör–1 : Ör–2 :
Bu komut ile bir elektrik devresinde elde edilen akım veya gerilim
değişimlerine ait sinyallerin minimum değerleri bulunabilir.
10:12 Dr. A. Muttalip ŞAHINASLAN 238 / 375
mean Fonksiyonu
1 2 4 9
Matrisini tanımlayarak sütunların
Ör : K 2 5 3 7
ortalamasını hesaplayınız?
5 7 4 1
» % K matrisinin tanımlanması
» K = [ 1 2 4 9 ; –2 5 3 7; 5 7 4 1]
K =
1 2 4 9
–2 5 3 7
5 7 4 1
1 2 5 9 7 1
ans 1.3333 ; 5.6667
3 3
10:12 Dr. A. Muttalip ŞAHINASLAN 240 / 375
std Fonksiyonu
Bir matrisin elemanlarının
1 n
xk x
2
standart sapmasını verir. s
std (matris) n 1 k 1
elemanlarının standart sapması bulunacak matris
1 2 3 4
Ör : Y Matrisini tanımlayarak standart sapmasını bulunuz?
2 4 6 8
» % Y matrisinin tanımlanması » % Y matrisinin standart sapması
» Y = [ 1 2 3 4; 2 4 6 8 ] » std ( Y )
Y = ans =
1 2 3 4 0.7071 1.4142 2.1213 2.8284
2 4 6 8
10:12 Dr. A. Muttalip ŞAHINASLAN 241 / 375
std Fonksiyonu
Uyg: 6 kişilik bir grubun girdiği sınavda aldığı notlar; 10, 8, 10, 8,
8, 4 olduğuna göre bu grubun standart sapmasını hesaplayınız?
G { 10 , 8 , 10 , 8 , 8 , 4 } ; n 6 1 n
k
2
10 8 10 8 8 4 48 std x x
mean x 8 n 1 k 1
6 6
x x 10 8 2 ; 8 8 0 ; 10 8 2 ; 8 8 0 ; 8 8 0 ; 4 8 4
22 02 22 02 02 42
4 0 4 0 0 16 24
24 24
x 4.8 std 4.8 2.1909
n 1 6 1
» G = [ 10 8 10 8 8 4 ] ;
» std ( G )
ans = 2.1909
10:12 Dr. A. Muttalip ŞAHINASLAN 242 / 375
size Fonksiyonu
Bir matrisin kaç satır ve kaç sütundan oluştuğunu verir.
Verdiği ilk değer satır, ikinci değer sütun sayısını gösterir.
size (matris)
satır ve sütun sayısı bulunacak matris
1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000
Ör : K = –1.0000 –0.8000 –0.6000 –0.4000 –0.2000 0 0.2000
4.0000 3.9000 3.8000 3.7000 3.6000 3.5000 3.4000
Ör :
1 2 3 » % 2x3 KL matrisi ve sütun sayısının tespiti
KL » KL = [ 1 2 3 ; 4 5 6 ]
4 5 6
KL =
1 2 3
4 5 6
» length ( KL )
ans =
3
10:12 Dr. A. Muttalip ŞAHINASLAN 244 / 375
det Fonksiyonu
Matrisin determinantını hesaplar.
det (matris)
determinantı hesaplanacak matris
1 2 5
Ör : A 2 4 3 Matrisinin determinantını hesaplayınız?
7 6 5
» % A matrisinin tanımlanması
» A = [ 1 2 5 ; -2 4 3 ; 7 6 5 ] ;
» det (A)
ans = – 136
10:12 Dr. A. Muttalip ŞAHINASLAN 245 / 375
det Fonksiyonu
2 1 4
Ör : C 6 3 2 Matrisinin determinantını hesaplayınız?
4 1 2
» det ( C )
ans =
100
» inv ( C )
ans =
0.1818 0.2000 0.0545
0.1818 –0.2000 –0.1455
–0.0909 0.2000 –0.1273
10:12 Dr. A. Muttalip ŞAHINASLAN 247 / 375
inv Fonksiyonu
1 2 3
Ör: M 0 1 4 Matrisin invers (tersini) hesaplayınız?
5 6 0
» M = [ 1 2 3 ; 0 1 4 ; 5 6 0 ];
» inv ( M )
ans =
-24.0000 18.0000 5.0000
20.0000 -15.0000 -4.0000
-5.0000 4.0000 1.0000
10:12 Dr. A. Muttalip ŞAHINASLAN 248 / 375
MATLAB Temel Komutları
Matrislerde Çarpma
Matrislerin Transpozu
1
Satır vektörünü (1xn), sütun vektörüne
Transpoze a’ 2
(nx1) yada tersine dönüştürür.
3
Noktalı (dot) işlemler, vektörde karşılıklı eleman eleman işlem yapılacağını gösterir.
function T= IkiMatrisiTopla(M, N)
T = [ ] ; %Baslangicta Bos Bir Matris
[satirSayisiM sutunSayisiM] = size (M) ;
[satirSayisiN sutunSayisiN] = size (N) ;
if (satirSayisiM == satirSayisiN)&&(sutunSayisiM == sutunSayisiN)
for i = 1 : satirSayisiM %Veya satirSayisiN
for j = 1 : sutunSayisiM %Veya sutunSayisiN
T(i, j) = M(i, j) + N(i, j) ; Komut Penceresi
end >>IkiMatrisiTopla([1 2;3 4],[5 6;7 8])
end
end ans= 6 8
10 12
10:12 Dr. A. Muttalip ŞAHINASLAN 256 / 375
Matrislerin Bir Skalerle Çarpımı
ans=
6 12
18 24
10:12 Dr. A. Muttalip ŞAHINASLAN 257 / 375
Matrislerde Çarpma İşlemi
A = [ 1 3 0 ; 4 2 –3 ] ;
A= B =AT
B=[];
[m n]=size(A) ; 1 3 0 1 4
for i = 1 : n %A’nin Sutunu 4 2 –3 3 2
0 –3
for j = 1 : m %A’nin
Satiri
Komut satırında A' yı test ediniz?
B(i , j) = A(j , i) ;
end
end
disp(A) ;
disp(B) ;
Bir kare matrisin ana köşegeni (kuzey batı – güney doğu köşegeni)
𝟒 𝟒 −𝟏𝟓 𝟑 𝟐𝟕
𝟏 𝟕𝟖 𝟗 𝟏𝟔 −𝟕
Dış Döngü
𝑴 = 𝟏𝟐𝟑 −𝟗 𝟐𝟓 𝟑𝟒 𝟐
Değişkeni ( i ) 𝟒 𝟓𝟖 𝟑𝟒 𝟒𝟐 𝟓𝟔
−𝟔𝟓 𝟏𝟏𝟐 𝟐 𝟖 𝟑
Bir kare matrisin ikincil köşegeni (kuzey doğu – güney batı köşegeni)
𝟒 𝟒 −𝟏𝟓 𝟑 𝟐𝟕
Dış Döngü 𝟏 𝟕𝟖 𝟗 𝟏𝟔 −𝟕
𝑴 = 𝟏𝟐𝟑 −𝟗 𝟐𝟓 𝟑𝟒 𝟐
Değişkeni (i)
𝟒 𝟓𝟖 𝟑𝟒 𝟒𝟐 𝟓𝟔
−𝟔𝟓 𝟏𝟏𝟐 𝟐 𝟖 𝟑