introduction to matlabdicle.edu.tr/akademikpersonel/sozerdem/eez102/matlab lecture3.pdf · matlab...
TRANSCRIPT
![Page 1: Introduction to MATLABdicle.edu.tr/akademikpersonel/sozerdem/eez102/Matlab lecture3.pdf · MATLAB Kılavuzu Dr. Aslan İnan Papatya Yayıncılık, Nisan 2011. Title: Introduction](https://reader031.vdocuments.pub/reader031/viewer/2022040214/5eb88dbdf59b0a6fbf2cf188/html5/thumbnails/1.jpg)
1
Diziler
Dr. Mehmet Siraç Özerdem
EEM – Dicle Üniversitesi
EEM104 - Bilgisayar Programlama
Dizi (Array)
Üç tür dizi ifadesi bulunmaktadır.
Gerçel ve karmaşık sayıları ifade eden çift
duyarlıklı diziler (double array)
Metin, nesne ve alan içeren karakter/hücre/yapı
dizileri (char/cell/struct array)
Boyutu 2 den yüksek olan n-boyutlu diziler
(n-dimensional array)
Dr. Mehmet Siraç Özerdem
![Page 2: Introduction to MATLABdicle.edu.tr/akademikpersonel/sozerdem/eez102/Matlab lecture3.pdf · MATLAB Kılavuzu Dr. Aslan İnan Papatya Yayıncılık, Nisan 2011. Title: Introduction](https://reader031.vdocuments.pub/reader031/viewer/2022040214/5eb88dbdf59b0a6fbf2cf188/html5/thumbnails/2.jpg)
2
Çift duyarlıklı diziler (double Array)
Genel olarak bir dizi skaler, vektör veya matris
şeklinde olabilir.
Dr. Mehmet Siraç Özerdem
scalar value
vector
matrix
15 -2 3 21
-4 1 0 13
3
1 40 -3 11
column
row
Faydalı fonksiyonlar
zeros(m,n) : returns a matrix of zeros
ones(m,n) : returns a matrix of ones
rand(m,n) : returns a matrix of uniform [0,1] random numbers
randn(m,n) : returns a matrix of normal, mean 0, variance 1, random numbers
Dr. Mehmet Siraç Özerdem
![Page 3: Introduction to MATLABdicle.edu.tr/akademikpersonel/sozerdem/eez102/Matlab lecture3.pdf · MATLAB Kılavuzu Dr. Aslan İnan Papatya Yayıncılık, Nisan 2011. Title: Introduction](https://reader031.vdocuments.pub/reader031/viewer/2022040214/5eb88dbdf59b0a6fbf2cf188/html5/thumbnails/3.jpg)
3
zeros()
x = zeros(2)
x = 0 0 0 0
z = zeros(2,3)
z = 0 0 0 0 0 0
y = zeros(1,4)
y = 0 0 0 0
t = zeros( size(z) )
t = 0 0 0 0 0 0
Dr. Mehmet Siraç Özerdem
z=ones(2,3);
size(z)
ans = 2 3
z=ones(4,3);
length(z)
ans = 4
z=ones(1,3);
length(z)
ans = 3
name = 'Dicle University';
size(name)
ans = 16
Dr. Mehmet Siraç Özerdem
![Page 4: Introduction to MATLABdicle.edu.tr/akademikpersonel/sozerdem/eez102/Matlab lecture3.pdf · MATLAB Kılavuzu Dr. Aslan İnan Papatya Yayıncılık, Nisan 2011. Title: Introduction](https://reader031.vdocuments.pub/reader031/viewer/2022040214/5eb88dbdf59b0a6fbf2cf188/html5/thumbnails/4.jpg)
4
>> x = [ 3 1 7 -21 5 6 ]
x =
3 1 7 -21 5 6
x(2)
x(6)
b=3; x(b)
x(2:4), x(3:end)
Dr. Mehmet Siraç Özerdem
>> v = [ 3 1 7 -21 5 6]'
v =
3
1
7
-21
5
6
>> v = [ 1 : 8 ]
v =
1 2 3 4 5 6 7 8
>>
Dr. Mehmet Siraç Özerdem
![Page 5: Introduction to MATLABdicle.edu.tr/akademikpersonel/sozerdem/eez102/Matlab lecture3.pdf · MATLAB Kılavuzu Dr. Aslan İnan Papatya Yayıncılık, Nisan 2011. Title: Introduction](https://reader031.vdocuments.pub/reader031/viewer/2022040214/5eb88dbdf59b0a6fbf2cf188/html5/thumbnails/5.jpg)
5
>> v = [ 2 : .25 : 4 ]
v =
Columns 1 through 7
2.0000 2.2500 2.5000 2.7500 3.0000 3.2500 3.5000
Columns 8 through 9
3.7500 4.0000
>>
Dr. Mehmet Siraç Özerdem
>> v( 1 : 3 )
ans =
0 2 4
>> v( 1 : 2 : 4 )
ans =
0 4
>>v( 1 : 3 ) - v( 2 : 4 )
ans =
-2 -2 -2
Dr. Mehmet Siraç Özerdem
>> v(1)
ans =
2
>> 0 : 2 : 8
ans =
0 2 4 6 8
![Page 6: Introduction to MATLABdicle.edu.tr/akademikpersonel/sozerdem/eez102/Matlab lecture3.pdf · MATLAB Kılavuzu Dr. Aslan İnan Papatya Yayıncılık, Nisan 2011. Title: Introduction](https://reader031.vdocuments.pub/reader031/viewer/2022040214/5eb88dbdf59b0a6fbf2cf188/html5/thumbnails/6.jpg)
6
>> v = [ 0 : 2 : 8 ]
v =
0 2 4 6 8
>> u = [ 0 : -1 : -4 ]
u =
0 -1 -2 -3 -4
>> u+v
ans =
0 1 2 3 4
Dr. Mehmet Siraç Özerdem
>> -2*u
ans =
0 2 4 6 8
>> v/3
ans =
0 0.6667 1.3333 2.0 2.6667
>> -2*u+v/3
ans =
0 2.6667 5.3333 8.0000 10.6667
>> u+v'
??? Error using ==> plus
Matrix dimensions must agree. Dr. Mehmet Siraç Özerdem
![Page 7: Introduction to MATLABdicle.edu.tr/akademikpersonel/sozerdem/eez102/Matlab lecture3.pdf · MATLAB Kılavuzu Dr. Aslan İnan Papatya Yayıncılık, Nisan 2011. Title: Introduction](https://reader031.vdocuments.pub/reader031/viewer/2022040214/5eb88dbdf59b0a6fbf2cf188/html5/thumbnails/7.jpg)
7
linspace (lineer)
>>linspace(x1,x2,n)
>>k=linspace(1,10,5)
>>k=1.0 3.25 5.5 7.75 10
logspace (logaritmik)
>>linspace(x1,x2,n)
>>d=logspace(0,2,5)
>>d=1.0 3.1623 10.0 31.6228 100.0
Dr. Mehmet Siraç Özerdem
y = [ 1 2 3; 4 5 6; 7 8 9 ];
y(2:end,2:end) = 0
y = 1 2 3 4 0 0 7 0 0
y(2:end,2:end) = [ -1 5 ]
??? Error y(2:end,2:end) = [ -1 ]
y = 1 2 3 4 -1 -1 7 -1 -1
y(2:end,2:end) = ( 4 )
y = 1 2 3 4 4 4 7 4 4
Dr. Mehmet Siraç Özerdem
![Page 8: Introduction to MATLABdicle.edu.tr/akademikpersonel/sozerdem/eez102/Matlab lecture3.pdf · MATLAB Kılavuzu Dr. Aslan İnan Papatya Yayıncılık, Nisan 2011. Title: Introduction](https://reader031.vdocuments.pub/reader031/viewer/2022040214/5eb88dbdf59b0a6fbf2cf188/html5/thumbnails/8.jpg)
8
y = [ 1 2 3; 4 5 6; 7 8 9 ];
y(2,[1 3]) = -2
y =
1 2 3
-2 0 -2
7 0 0
Dr. Mehmet Siraç Özerdem
>> A = [ 1 2 3 ; 3 4 5 ; 6 7 8 ]
A =
1 2 3
3 4 5
6 7 8
>>
>> B = [ [1 2 3]' [2 4 7]' [3 5 8]' ]
B =
1 2 3
2 4 5
3 7 8
>>
Dr. Mehmet Siraç Özerdem
![Page 9: Introduction to MATLABdicle.edu.tr/akademikpersonel/sozerdem/eez102/Matlab lecture3.pdf · MATLAB Kılavuzu Dr. Aslan İnan Papatya Yayıncılık, Nisan 2011. Title: Introduction](https://reader031.vdocuments.pub/reader031/viewer/2022040214/5eb88dbdf59b0a6fbf2cf188/html5/thumbnails/9.jpg)
9
>> v = [ 0 : 2 : 8 ]
v =
0 2 4 6 8
>> A*v(1:3)
??? Error using ==> *
Inner matrix dimensions must agree.
>> A*v(1:3)'
ans =
16
28
46
Dr. Mehmet Siraç Özerdem
>> A(1:2,2:3)
ans =
2 3
4 5
>> A(1:2,2:3)'
ans =
2 4
3 5
A = 1 2 3 3 4 5 6 7 8
Dr. Mehmet Siraç Özerdem
![Page 10: Introduction to MATLABdicle.edu.tr/akademikpersonel/sozerdem/eez102/Matlab lecture3.pdf · MATLAB Kılavuzu Dr. Aslan İnan Papatya Yayıncılık, Nisan 2011. Title: Introduction](https://reader031.vdocuments.pub/reader031/viewer/2022040214/5eb88dbdf59b0a6fbf2cf188/html5/thumbnails/10.jpg)
10
>> B = A( 1 : 2 : 3 , 2 : 3 )
B =
2 3
7 8
>> B = A( 2 : 1 , 2 : 3 )
B =
Empty matrix: 0-by-2
A = 1 2 3 3 4 5 6 7 8
Dr. Mehmet Siraç Özerdem
>> B1 = A( 1 , : )
B =
1 2 3
>> B2 = A( 3 , : )
B =
6 7 8
>> C = [ B1 B2 ]
C =
1 2 3 6 7 8
>> C = [ B1 ; B2 ]
C =
1 2 3
6 7 8
A = 1 2 3 3 4 5 6 7 8
Dr. Mehmet Siraç Özerdem
![Page 11: Introduction to MATLABdicle.edu.tr/akademikpersonel/sozerdem/eez102/Matlab lecture3.pdf · MATLAB Kılavuzu Dr. Aslan İnan Papatya Yayıncılık, Nisan 2011. Title: Introduction](https://reader031.vdocuments.pub/reader031/viewer/2022040214/5eb88dbdf59b0a6fbf2cf188/html5/thumbnails/11.jpg)
11
Matris Bilgi Alma Fonksiyonları
Matris transpozesi (AT), A’ ile bulunur.
Matrisin determinantı (|A|), det(A) ile bulunur.
Matrisin tersi (A-1), inv(A) ile bulunur.
Matrisin rankı, rank(A) ile bulunur.
Matrisin rankı, rank(A) ile bulunur.
Bir A matrisin tüm karesel alt matrislerinden, determinantı sıfırdan farklı olan en yüksek
boyutlusunun boyutuna A matrisinin rankı denir.
Matrisin boyutu, size(A) ile bulunur.
Matrisin köşegen elemanları, diag(A) ile bulunur.
Matrisin özdeğerleri ve özvektörleri,
[ozvektor ozdeger] = eig(A) ile bulunur.
Dr. Mehmet Siraç Özerdem
>> sin(v)
ans =
0.8415
0.9093
0.1411
>> log(v)
ans =
0
0.6931
1.0986
>>
Natural logarithm
Dr. Mehmet Siraç Özerdem
![Page 12: Introduction to MATLABdicle.edu.tr/akademikpersonel/sozerdem/eez102/Matlab lecture3.pdf · MATLAB Kılavuzu Dr. Aslan İnan Papatya Yayıncılık, Nisan 2011. Title: Introduction](https://reader031.vdocuments.pub/reader031/viewer/2022040214/5eb88dbdf59b0a6fbf2cf188/html5/thumbnails/12.jpg)
12
Matris – Matris İşlemleri
A*B A.*B
A/B veya A∙B-1 = A*inv(B) A./B
A\B veya B∙A-1 = B*inv(A) A.\B
A^B A.^B
Dr. Mehmet Siraç Özerdem
>> x = [ 0 : 0.1 : 100 ]
x =
Columns 1 through 7
0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000
[stuff deleted]
Columns 995 through 1001
99.4000 99.5000 99.6000 99.7000 99.8000 99.9000 100.0000
>> y = sin(x).*x./(1+cos(x));
>>
Dr. Mehmet Siraç Özerdem
![Page 13: Introduction to MATLABdicle.edu.tr/akademikpersonel/sozerdem/eez102/Matlab lecture3.pdf · MATLAB Kılavuzu Dr. Aslan İnan Papatya Yayıncılık, Nisan 2011. Title: Introduction](https://reader031.vdocuments.pub/reader031/viewer/2022040214/5eb88dbdf59b0a6fbf2cf188/html5/thumbnails/13.jpg)
13
Bazı Temel Fonksiyonlar
max : En büyük değeri verir
min : En küçük değeri verir
length : Verinin uzunluğunu hesaplar
sum : Verilerin toplamını verir.
prod : Verilerin çarpımını verir.
std : Verilerin standart sapmasını verir.
mean : Verilerin ortalamasını verir
geomean : Verilerin geometrik ortalamasını hesaplar
harmmean : Verilerin harmonik ortalamasını hesaplar
sort : Verileri azalan sırada sıralar
Dr. Mehmet Siraç Özerdem
Bazı Özel Matrisler
eye
pascal
magic
hilbert
meshgrid
Dr. Mehmet Siraç Özerdem
![Page 14: Introduction to MATLABdicle.edu.tr/akademikpersonel/sozerdem/eez102/Matlab lecture3.pdf · MATLAB Kılavuzu Dr. Aslan İnan Papatya Yayıncılık, Nisan 2011. Title: Introduction](https://reader031.vdocuments.pub/reader031/viewer/2022040214/5eb88dbdf59b0a6fbf2cf188/html5/thumbnails/14.jpg)
14
Örnekler
1’den 120’e kadar olan sayıların toplamı
1’den 100’e kadar çift sayıların karelerinin toplamı
1’den 75’e kadar 4 ile tam bölünebile sayıların ortalaması
5’den 15’e kadar olan sayılar için sol sütunda sayı, sağ sütunlarda sırasıyla karakökü ve tersi olacak şekilde listenin oluşturulması
Dr. Mehmet Siraç Özerdem
Kaynak
MATLAB Kılavuzu
Dr. Aslan İnan
Papatya Yayıncılık, Nisan 2011