You are on page 1of 99

SAYISAL ANALZ

Matlaba Giri
Derleme Ders
Notlar
r. Gr. Arzu ERENER
email:ae76@hotmail.com.tr

Saysal Analiz
1. Kaynaka
1. Octave
http://www.gnu.org/software/octave/download.html
2. Matlab
http://www.mathworks.com/products/matlab/
3. Excel
4. Steven T. Karris, Numerical Analysis Using MATLAB and
Excel, Third Edition, 2007, Orchard Publications
5. MATLAB, The Language of Technical Computing, Getting
Started with MATLAB, Version 5
6. Mehmet Uzunolu- mer alar Onar, Her Yn ile Matlab,
2003 Bask
7. MATLAB PROGRAMLAMAYA GR,
http://www.tugrulaktas.com/dersnotlari/Matlap/matlab[2].pdf
8. Ali Yazc ders notlar, Matlab 7.0, hzl renme Klavuzu,
Saysal Yntemler Derleyen: A.Gn, Denetleyen:
A.Karamancolu, OGU-EE.003, Austos 2002, MATLABE
GiR
9. CORS-TR, Ders 2 : MATLAB ile Matris lemleri
Eitim,Seminerleri Serisi : MATLABe Giri
10. http://www.mathworks.com/matlabcentral/

Saysal Analiz
1. Kapsam

o
o
o
o
o
o
o
o
o
o
o
o
o

1. Matlab'n Genel Yaps


2. Matlab Kullanmnda Temel Kurallar
3.1. fadeler
3.2.Deilenler
3.3. Saylar
3.4 Operatrler(saysal ilemciler)
3.5. Fonksyonlar
3.6. zel Sabitler
4. Vektrler
5. Matlab'da Dizi (Matris) lemleri
5.1. Matrislerde Elemanlar
5.2. Genel Matrisler
6. Matrisler ve lemler
3

Saysal Analiz
1. MATLAB

Matlab; yksek performansl bir teknik programlama dilidir.


Matlab alm ingilizce MATrix LABoratory den gelmektedir.
Balangta MATLAB zellikle mhendislik alannda, iyi grafik zelliklere sahip
daha ok saysal hesaplamalarda kullanlmak amac ile gelitirilmi bir paket
programlama dili olarak ortaya kmtr.
Matlab; matrix esasl matematik ortamnda kullanlmak zere gelitirilmi
etkileimli bir paket programlama dilidir.
lk srmleri Fortran diliyle hazrlanm olmakla beraber son rmleri (2000
yl itibari ile 5.1) C dilinde yazlmtr.
4

Saysal Analiz
1. MATLAB
MATLAB mhendislik alannda;
Matematik ve hesaplama ileri, algoritma
gelitirme.
Verilerin

analizi,

incelenmesi

ve

grntlenmesi.
veri zmleri ve
grafik ilemlerinde
Modelleme, benzetim ve prototipleme.
kullanlabilecek genel amal bir program olmakla
beraber zel amal modler paketlerede sahiptir.
Fortran ve C dili gibi yksek seviyeli programlama
dili ile yaplabilen hesaplamalarn pek ounu
MATLAB ile yapmak mmkndr.

Saysal Analiz
1. MATLAB
1970lerin sonunda Cleve Moler tarafndan yazlan Matlab programnn tipik
kullanm alanlar:
Matematiksel hesaplama ilemleri
Algoritma gelitirme ve kod yazma
Lineer cebir,istatistik,Fourier
analizi,filtreleme,optimizasyon,saysal integrasyon vb. konularda
matematik fonksiyonlar
2D ve 3D grafiklerinin izimi
Modelleme ve simlasyon (benzetim)
Grafiksel arayz oluturma
Veri analizi ve kontrol
Gerek dnya artlarnda uygulama gelitirme
eklinde zetlenebilir.

Saysal Analiz
1. MATLAB

oMatlab'n resmi sitesi: http://www.mathworks.com,


ornek uygulama ve teknik literatr iin:
www.mathworks.com/applications/tech_comp...nicalliterature.html
Ayrca http://www.mathworks.com/matlabcentral/ : kod paylam
oMatlabin Trkiye temsilcisi Bursa merkezli Figes firmasdr.
oWeb adresi: http://www.figes.com.tr
oHaber grubu: matlabturk@yahoogroups.com

Saysal Analiz
1. MATLAB

Matlab matrix tabanl bir dildir.


Matlabda ilk balangta hereyi matris olarak dnmek yararl olacaktr.

Saysal Analiz
1. MATLAB

oAra kutular,zel sorunlarn zm iin


MATLABa uyarlanan MATLAB ilevlerinin bir
tr kitaplklardr.
oAra kutular, ak ve eklenebilir olup; kendi
algoritmalarn ve ekini grebilirsiniz.
oSimulink :
oBlok diyagram arayz ile dorusal olmayan
simulasyonu ve canl simulasyon
yetenekleriyle z saylar, MATLABn
grafiklerini ve dil fonksiyonlarn birletiren
bir sistemdir.
9

Saysal Analiz
1. MATLAB

oMatlaba balamann en iyi yolu matrislerin nasl ele alnmas gerektiini


renmektir.
oMATLAB da bir matrix, dikdrtgen saylar dizisidir.
o1x1 matrisscaler say,
omx1 matrisstun matrisi
o1xn matrissatr matrisi
omxn matrism satrlk ,n stunluk matristir.

10

MATLAB
1. Matlab'n Genel Yaps

1. Program Nasl Balatlr?


Balat -->Tm Programlar-->Matlab
veya
Command Window: Matlab
2. Program Nasl Sonlandrlr?
MATLAB Programlama dilini sonlandrmak
iin
>> quit
yada
>> exit
komutlar kullanlr.

11

MATLAB
1. Matlab'n Genel Yaps
MATLAB programn ilk altrdnzda karnza kacak ekran aadaki gibidir.
MASA ST

alma Dizini

alma Alan

KOMUT PENCERES

Komut Satr

Komut
Gemii
12

MATLAB
1. Matlab'n Genel Yaps
Matlab alstrdmzda, karsmza ana pencere gelir.
Bu pencerede
File,
Edit,
Debug,
Parallel,
Desktop,
Window ve
Help
ana baslklar vardr.
Bu baslklar altndan, dier Windows programlarnda alslagelmis benzer
islemler

13

MATLAB
1. Matlab'n Genel Yaps
Burada

DesktopDesktop

Layout

ile

Matlabn

masast

yerlesimini

dzenleyebilirsiniz.
rnein; Default ile varsaylan grnmn,
Command Window Only ile sadece klasik komut penceresini

14

MATLAB
1. Matlab'n Genel Yaps
Command Window: Bu pencere komut penceresidir
Bu pencereden Matlab ile ilgili komutlar klavyeden girer, komutun
islemesini salamak iin de Enter tusuna baslr.
Komutlar girdiimiz satr >> ile baslar ki bu satra komut satr denir

Eg.Yarap 3.6 olan


bir daire alan
hesaplayalm

15

MATLAB
1. Matlab'n Genel Yaps
Command History
Bu pencere o ana kadar komut satrndan girilen komutlar gsterir.
stersek bunlarn birini fareyle seer, ya da bir kan veya tmn fare ve
asa-yukar yn tuslar yardmyla seer ve delete tusuna basarak silebiliriz

16

MATLAB
1. Matlab'n Genel Yaps
Workspace
oKomut satrndan ya da alstrlan bir dosya ya da fonksiyon ile hafzada
olusturulan deiskenlerin adlarnn, tiplerinin ve zelliklerinin grntlendii
penceredir.
oalma Alan MATLABda iletilen fonksyonlarn veya komutlarn oluturduu
deikenlerin depoland bir merkezdir.
oBylelikle tm deikenlere belli bir kaynaktan ulalabilmektedir, bu da
programlama srasnda deikenlerin yerini, belirtmeden, bu deikenleri kullanma
imkan salamaktadr.
stne sa tu yapp
zellikler eklenebilir
eg.size
17

MATLAB
1. Matlab'n Genel Yaps
Workspace

rnek :
Command Windowa
alttaki deerleri yazp
inceleyin:
a = 4; b = 5; c = a*b
naslsn=iyidir

rnein:
cdeiskeni 1x1 boyutunda bir matris yani say,
bdeiskeninin ise 3x2 boyutunda bir matris, yani satr ve 2 stundan
olusan bir matris,
naslsnadl deisken de 6 karakterden olusan bir karakter zinciri (string)
olduu grlr.

18

MATLAB
1. Matlab'n Genel Yaps
Matlab Dizi Editr
oA deikenine ift tklandnda Matlab Dizi Editr alr.
oBurda deikenlerin ierikleri grntlenir ve deitirilebilir.

19

MATLAB
1. Matlab'n Genel Yaps
who : alma alannda hangi deikenler olduu
whos: bu deikenlerin yaplar grlmektedir.
what; komutu kullanc diskinin halihazr dizininde mevcut Mdosyalar listesini verir.

20

MATLAB
1. Matlab'n Genel Yaps
clc: Komut penceresindeki satrlar silmeye yarar
clear: Hafzadaki deikenler silinir

21

MATLAB
1. Matlab'n Genel Yaps
Matlab alma Dizini penceresindeki aa ok baslarak alma dizini
seilebilir.
Current Folderda almak istenilern directory ynlendirilerek hzl ulam
salanr.

22

MATLAB
1. Matlab'n Genel Yaps
Current Folder: Matlab dosyalarnn kaydedildii, yklendii dosyalarn bulunduu
klasr (dizin), varsaylan klasr olarak belirlemeye yarar.
Aksi belirtilmedike bu klasr C:\Matlab6p5\work gibi bir klasrdr.
rnek:
>> a=[1,2,3; 5,7,9]
a=

Command Windowa : save


yazlrsa deikenler
matlab.mat veri
dosyasna kaydedilmi
olur.

Yada :

Matlab kapatp aalm ve


matlab.mat aralm.
(Fileopenmatlab.mat)

save F:\MATLAB_UYG\katsayilar a

1
5

2
7

3
9

katsayilar.mat olarak kaydedilen a matrisininmatlab kapatlp aldktan sonra


herhangi bir zamanda geri arlmasiin;

load F:\MATLAB_UYG\katsayilar

komut dizisi kullanlr.

23

MATLAB
1. Matlab'n
Genel
Yaps
MATLAB
Yardm
1. Komut satrna help yazlr. Bu yardm sunulabilecek konularn listesini
sunar.
2. help fonksyon-ad fonksyon iin yardm metnini grntler.

24

MATLAB
1. Matlab'n Genel Yaps
Matlab Masast

Yeni MDosyas
Dosya A
Kaytl Matlab
Fonksyonu,
kayt
dosyas(mat),
modeli, figr
ve GUI
arayzl
fonksyonlar
aar

Farkl
alma
dizinini
Matlaba
tantr

Help Desk

Veri dosyalarn
aar
alma
ortamn
kaydeder

Matlab arayzn
ayarlar
25

MATLAB
1. Matlab'n Genel Yaps
Balat Dmesi

Matlab

ara

kutular,

Matlab

uygulamalarna

eklenti

olarak

hazrlanan

ve

hazr

fonksyonlar

ieren paketlerdir.

26

MATLAB
Balat Dmesi
1. Matlab'n
Genel Yaps
Start Dmesi tm matlab uygulamalarna alan ksayollar iermektedir.
Veri Sihirbaz
GUI Hazrlayc

Matlab
Uygulamalar
iin ksa yol

SimulinkUy
gulamas

Ara
kutular

Demolar
27

MATLAB
1. Matlab'n Genel Yaps
Matlaba Veri Alma
Programa dardan resim, film, veri, ses dosyalarn matris formatna
evirerek bir deiken olarak atamada kullanlr
FileImport Data
rnek: Exel dosyas alma
Exelde bir matrix oluturup matlabdan import ile alnz.

28

MATLAB
1. Matlab'n Genel Yaps
Matlab'da Temel Kavramlar:
Tm programlama dillerinde olduu gibi (Fortran, C, Pascal, Basic vs..)
Matlab'n da zel anlam tasyan baz kelimeleri vardr ki, bu kelimeler deisken
olarak kullanlamazlar.
Bu tr kelimelere anahtar kelime (keywords) denir.
Bu kelimelerin bir listesini almak iin komut satrna;
iskeyword komutunu yazarak elde edebiliriz.
Bu kelimeler;

'break 'case' 'catch' 'continue' 'else' 'elseif' 'end 'for' 'function' 'global'
'if' 'otherwise 'persistent' 'return' 'switch' 'try' 'while.
29

Matlab
2. Matlab Kullanmnda Temel Kurallar:

Programn dili ve yardm bilgileri tamamen ingilizcedir.


Kk-byk harf ayrm vardr.
rnein dscrite, DSCRITE ve Dscrite atamalar farkl ekilde
alglanr
Eer istenirse casesen offkomutu ile bu durum sona
erdirilebilir.
iareti komut promptudur.
Komutlar Enter ile yrtlr.

30

MATLAB
2. Matlab Kullanmnda Temel Kurallar:

Genel komutlarn isimleri ve aklamalar

31

MATLAB
2. Matlab Kullanmnda Temel Kurallar:
MATLAB kontroln kullanabilmeniz iin zel karakterlere sahiptir.
Bu karakterlerin bir zeti :

32

Matlab
2. Matlab Kullanmnda Temel Kurallar:

33

Matlab
2. Matlab Kullanmnda Temel Kurallar:

34

Saysal Analiz
3. MATRSLER

FADELER : Matematiksel ve metinsel gsterimler ile ilemler ifadelerle


salanr.
Saylar (Numbers)
Deikenler (Variables)
leler (Operators)
Fonksiyonlar (Functions)
Matlabde ifadeler genellikle deiken = ifade veya sadece ifade
formundadr.

x = 4 * sqrt(5)
deiken

say

ile

fade
fonksiyon

Bir ifade = iareti ile bir deikene atanmam ise Matlab otomatik olarak
sonucu, ans (answer) ad verilen zel bir deikende saklar.

35

MATRSLER
3.1. FADELER

o Birden fazla ifade tek satrda aralarna , ya da ; koyarak


yazlabilir.
o Yazmda boluk says etkisizdir.
o Sadece ilgili deiken adn yazarak o deikeni
arabilirsiniz.

36

Matlab
3.2. Deilenler

Deisken: deeri deisebilen bellek alanna isaret eden deerlere,

o MATLABda, herhangi bir tip tanmlamas veya boyut ifadesine gerek yoktur.
o MATLAB, yeni bir deiken ismi ile karlatnda, otomatik olarak ans isminde
bir deiken oluturur ve uygun bir bellek miktar ayrr.
oEer deiken zaten varsa, MATLAB gerekli bir bellek ayrdnda ierii deiir.
rnein,
o ogrenci_say=51

37

Matlab
3.2. Deilenler

MATLAB deiken girileri iin eitli kurallara sahiptir.


Her deiken bir harfle balamak zorundadr.
Program byk kk harf duyarldr. X ve x farkl deikenleri ifade eder.
Program 31 basamaa kadar duyarldr. Bu basamaktan sonrasn yok sayar.
Dolaysyla 31 basamaktan uzun deiken isimleri karklk yaratabilir.

38

Matlab
3.2. Deilenler

Deiskenlere Deer Atama:

Her hangi bir programlama dilinde olduu gibi, Matlabda da bir deiskene
deer verme islemine deer atamak denir.
Bir deiskene atanan deer, deistirilmedii srece ayn kalr.
Deer atamann genel kullanm asadaki biiminde olur:

<Deisken ad>=<Atanacak deer>;

39

Matlab
3.2. Deilenler

rnek 2:
A=6i-7;

%A: deikenine skaler bir deer atar

B=A /7;

%B deikenine A deikeninin 1/7 si atanmtr

C=[3 4 5 6];

% 4 elemanl bir satr vektr atanmtr

NOT:
Dizi giriinde herhangi bir satra ait elemanlar aralarna boluk veya
virgl , konularak ayrlr
Dizinin dier bir satrna balamak iin biten satr sonuna ; konulur.
40

MATRSLER
3.3. Saylar

oMATLABda saylar yaygn olarak kullanlan onluk tabanda ifade edilirler.


o Bunun yansra onluk tabanda stel olarak veya i veya j olarak kompleks say
biimlerinde de ifade edilebilirler.
ornek olarak,

Matlab da i ve j baka trl tanmlanmamsa kompleks i saysn gsterir.


3e5 saysda 3*105 anlamndadr

41

MATRSLER
3.3. Saylar

o Ondalk saylar Trkemizdeki 3,5 yerine 3.5 eklinde gsterilir (0.0001


veya 9.63, 0.65 yerine .65).
o Bilimsel notasyon gsterimi olan e (veya E) harfi 10nun kuvvetini temsil
eder.
o

2e4=2.104=2000 veya 1.65e-20=1.65.10-20 demektir.

o Kompleks saylarda imajiner (sanal) ksmlar i veya j ekini alr. i veya j


ile gosterimlerinde bir fark yoktur.
o

(1+3i veya 1+3*i veya 1+i*3) / 1+sqrt(3)*j / -5i

o Matlabde tm saylar, yaklak 2.10308 ve 2.10-308 arasnda deiir.


42

MATRSLER
Matlab
3.3. Saylar
Say Formatlar:

43

MATRSLER
3.4 Operatrler(saysal ilemciler):

oMatlab'da bir ok eylem, drt islem ve matematiksel baz islemler


yaptrabiliriz.
oBunun iin, ya ilgili komutlar komut penceresinden teker teker girerek veya
ilgili komutlar bir dosyaya yazp, o dosyay ararak alstrabiliriz.
olemleri yaptrrken, saylar reel say ya da karmask say olarak alabiliriz.

44

MATRSLER
3.4 Operatrler(saysal ilemciler):

Matematiksel ifadeleri oluturmak iin operatrler ve nceden tanmlanm


sembolleri kullanabilirsiniz.
oOperatrler zetle unlardr:

4+8*32
ans =
26

oMatrislerle yaplan ilemlerde blme ilemi iin iki farkl sembol kullanlmaktadr.
oBunun yannda eer saylar skaler ise iki blme ileminin sonucu da ayn deeri
gsterecektir.
45
ornein 3/2 ile 2\3 ifadelerinin sonular ayn olup 1.5dir

MATRSLER
3.4 Operatrler(saysal ilemciler):

x=a + b

Bu ifadede a ve b nin topland ve x deikeni iinde sakland


belirtilmektedir.

46

MATRSLER
3.4 Operatrler(saysal ilemciler):

Aritmetiksel lemlerde ncelik Durumu:


oTek bir aritmetiksel durum iinde birden fazla durum bir arada bulunabildiine gre
hangi ilemin ncelik hakkna sahip olunduunun bilinmelidir.
oMATLABda kullanlan ilemlerde ilemlerin ncelik listesi:
baz temel matematiksel fonksiyonlarn aklamalar

47

MATRSLER
3.4 Operatrler(saysal ilemciler):

o
o

MATLAB da ilemler soldan saa ilerler.


lemler aras ncelik sras aadaki gibidir:

1. ^
2. *, /
3. +, -

3^(25)-6/3*2
ans =

(Yksek)

(Dk)

3^256/3*2
ans =
3.9630

48

MATRSLER
3.5. Fonksyonlar
o MATLABn ok gl ve ok kapsaml bir fonksiyon yaps vardr.
oMATLABda baz fonksiyonlar daha nceden yerletirilmi bazlar ise sonradan
dardan

yerletirilmi

M-dosyalarndan

oluan

MATLAB

ktphanelerinde

tanmlanmlardr.
oBunun yannda zel uygulamalar iin kullanclarn kendi fonksiyonlarn yazarak
kendi ktphanelerini oluturmas mmkndr.
MATLABda mevcut analitik fonksiyonlar genel olarak aadaki kategorilere ayrabiliriz.
oTemel matematiksel fonksiyonlar
ozel fonksiyonlar
oTemel matrisler ve matris ilemleri
oMatrisleri arpanlarna ayrma
oVeri analizleri
oPolinomlar
oDiferansiyel denklem zmleri
oLineer olmayan denklemler ve optimizasyon
oSaysal integral hesaplamalar
49
oSinyal ileme

MATRSLER
3.5. Fonksyonlar
Matematiksel Fonksiyonlar:

rnek:
>>exp(1)
ans=2.7183
>>fix(3.5)
ans=3
>>ceil(3.5)
ans=4
>>round(3.5)
ans=4

baz temel matematiksel fonksiyonlarn aklamalar

50

Matlab
3.6. zel Sabitler
Matlab'da nceden tanmlanms baz sabitlerdir.
Bunlar aadaki tabloda gsterilmistir.

51

Matlab
7. Sabitler, Deiskenler ve Metin Katarlar

rnekler:
1) a=1;
2) a=stanbul
3) a=5;b=7;c=a+b;
4) a=5;b=-3;c=a+2*b;a=a+b;
5) num=2*3-5^2; x=num/2, y=x+10;

52

MATRSLER
3.5. Fonksyonlar

rnek:
Komut satrna
a) sin(30)
b) sin(30*pi/180) yaznz sonular inceleyiniz.
Cevap:
a) -0.9880 sonucu grlr ki bu 30 nin sinsnde n farkldr. nk
bu 30 derece deil 30 radyann sinsdr.
b) 0.5000 sonucu grlr ki bu da 30 nin sinsd r. O halde bir
saynn trigonometrik deerini buldurmak iin, nce pi ile arpp 180
e blerek ay radyan evirip sonra trigonometrik deerini
hesaplatabiliriz.
53

Matlab
4. Vektrler

oVektrler tek boyutlu say dizileridir.


oElemanlarnn sralanma ynlerine gre stun veya satr vektr adlarn
alrlar.
ovektrler [ ] keli parantezleri ile tanmlanr
ofarkl yolla tanmlanabilirler

A = [4 12 -8 6];

B = [1; 2; 4; 6];

A = [4, 12, -8, 6];


>> b=[1
2
4
6
]

Satr Vektr
Stun Vektr

54

Matlab
4. Vektrler

ovektr boyutlar bydke, manuel olarak tantm ilemi olduka zorlamaktadr.


ozellikle belli bir artma sahip vektrlerin oluturulmasnda (:) operatr
kullanlmaktadr.

C = [-1:0.5:150];

Balang deeri

Art miktar

D = [30:-10:-30]

Son deer

Stun Vektr

55

Matlab
4. Vektrler
Vektr indisleri
Bir vektrn elemanlarna atanlan deer deikenler editr veya eleman adresi
vastasyla deitirilebilir.
rnek:
A = [4 12 -8 6];
1. A vektrnn 3. elemann 27 ile deitiriniz.
2. Benzer ekilde A vektrnn 2. elemann siliniz.
3. A(9) = 12
zm:
1. A(3) = 27
2. Vektrn elemanna [ ] deeri atandnda eleman silinir.
A(2) = [ ]
3. >> A(9) = 12
A =[ 2 27 7 0 0 0 0 0 12]

A= [ 4 27 6]

56

Matlab
5. Matlab'da Dizi (Matris) lemleri:
x=[17 8 61 83 56];
eklindeki bir matrisin nc elemanna erimek istenirse
c=x(3)
c=
61
Eer bir blok eklinde veriye eriilmek istenirse;
x(2:4)
ans =
8 61 83
Her matristeki herhangi bir elman grubuna eriilmek istenirse;
x([3 1 4])
ans =
61

17

57

83

Matlab
4. Vektrler
Dizilerin Deerlerinin Deistirilmesi ve Dzenlenmesi:
Bir diziye dzenli arts (veya azals) kuralyla deerler atanmak isteniyorsa
bunu;
ilk_deer:arts:son deer veya ilk_deer:arts:son deer
biiminde yapabiliriz.
Ancak arts 1 ise belirtilmeyebilir.
rnek:
ortalama adl bir diziye 0 dan 5 e kadar 0.5 er artsla elde edilen say
dizisini atayan;
ortalama=[0:0.5:5];
Siz: 1. satr 7 den den 17 ye kadar olan tam saylar, 2. satr 99 dan 89 a
kadar azalan tam saylardan olusan 2 boyutlu m dizisine atayan islemleri
yaznz??
58

Matlab
4. Vektrler

59

Matlab
5. Matlab'da Dizi (Matris) lemleri:

Saylardan olusan satr ve stun yapsna matris (dizi) denir.


rnein;
d1=[5] 1x1 lik,
d2=[ 2 -7] 1x2 lik,
d3= [1 0 -3 ]
[531]
2x3 lk bir dizidir.

rnek:
x=[1; 7; 18; 5]
Ya da
x=[
1
7
18
5]
Biimlerinde girilebilir.

60

Matlab
5. Matlab'da Dizi (Matris) lemleri:
Dizilerin Deerlerinin Deistirilmesi ve Dzenlenmesi:
Bir dizinin herhangi bir elemann belirlemek iin dizi adndan hemen sonra
parantez iinde elemann bulunduu satr ve stun says yazlmaldr.

rnek:
1. d2=[2 -7]
d2 dizisinin -7 elemann grntlemek iin:
d2(1,2)
2. d3=[1 0 -3;5 3 1]
d3 dizisinin 2. satr, 1. stununda bulunan 5 in deerinin, -7.5
olmas iin:
d3(2,1)=-7.5;
Not:1) Bir dizinin bir ok elemann yeniden deer atamak gerekirse, komut satrndan
atama yapmak uzun zaman alabilir.
Bu durumda dizi deiskeninin zerine ift tklayarak alan dizi editr (array edit)
yardmyla deisiklikleri daha kolay yapabiliriz.

61

Matlab
8. Matrisler(Dizi)
Bir matrisi girerken ,
o1. Elemanlar, batan ve sondan keli parantezlerle kapatlr.
o2. Elemanlarn arasna boluk veya virgl konulur.
o3. Matris satrlarn ayrmak iin de noktal virgl kullanlr.
okurallarna dikkate alnmaldr.

rnein,
A = [1 2 3; 4 5 6];
A=
123
456
eklinde veriler matrisler biiminde tanmlanr.
MATLAB daha sonra kullanlmak zere verileri A matrisinde saklar.
62

Matlab
5.1. Matrislerde Elemanlar

Matris elemanlar rasgele rakamlardan oluabilecei gibi MATLABn deyimlerinden


de oluabilir.
rnein.
a=[-1.3 sqrt(3) (1+2+3)*475]
a= -1.3000 1.7321 4.8000
Kk matrisleri eleman olarak kullanp daha byk matrisler oluturmak
mmkndr.
rnein,
M=[1 3 5 7 8 9] matrisine
aada gsterildii ekilde bir
satr eklemesi yapabilir.
M=[M;[10 13 15]]

Bu durumda M matrisi
M=[1 3 5
7 8 9
10 13 15]
durumunu alr.

63

Matlab
8. 1. Matrislerde Elemanlar

ki nokta st ste (:) kullanarak byk matrislerin belli bir ksmn kullanabiliriz
ya da dier ifade ile bu matrisi kltebiliriz.
rnein, M=M(1:2,:) bildirimi M matrisinin ilk iki satrn alarak M matrisi
olarak saklar.

rnek:
M=[8 -4 7; 66 -7 8 9; 4 5 134] ise:
M=M(1:2,:) =?

64

Matlab
5.2. Genel Matrisler:
MATLABda kullanc verileri kendi oluturaca matrisler ile tanmlayabilecei gibi
MATLABn kendi zel matrislerinden de istifade edilebilir.

65

Matlab
5.2. Genel Matrisler:
zel Dizi (Matris) Olusturan Baz Fonksiyonlar:

a) Sfr Matrisi Olusturan Fonksiyon:


Her eleman sfr olan mxn boyutunda bir matrise sfr matrisi denir.
Byle bir dizi olusturmak iin zeros fonksiyonu kullanlr.
Kullanm; matris_ad=zeros(m,n); biimindedir.
rnek:
3x5 boyutunda s adl sfr matrisi iin:
s=zeros(3,5);

66

Matlab
5.2. Genel Matrisler:
zel Dizi (Matris) Olusturan Baz Fonksiyonlar:
b) 1 lerden Olusan Matris:
Her eleman 1 olan mxn boyutunda bir matrisi olusturmak iin ones
fonksiyonu kullanlr.
Kullanm; matria_ad=ones(m,n); biimindedir.
rnek:
2x3 boyutunda b adl tm elemanlar 1 olan matrisi olusturalm.
b=ones(2,3);

67

Matlab
5.2.zel
Genel
Matrisler:
Dizi
(Matris) Olusturan Baz Fonksiyonlar:
c) Birim Matrisi Olusturan Fonksiyon:
Esas ksegeni 1 lerden dier elemanlar 0 lardan olusan kare matrise (satr
ve stun says esit olan ) birim matrisi,
kare olmayan matrise de diyagonal matris denir.
Byle matrisleri olusturmak iin eye fonksiyonu kullanlr.
Kullanm; matris_ad=eye(m,n); biimindedir.
rnek:
a) 3x3 lk birim matris;
b) 4x3 llk diyagonal matris olusturalm.
zm:a) i=eye(3,3); b) d=eye(4,3);
68

Matlab
5.2.zel
Genel
Matrisler:
Dizi
(Matris) Olusturan Baz Fonksiyonlar:

d) Rastgele Saylardan Olusan Matris ve Fonksiyonu:

Elemanlar 0 ile 1 arasndaki rastgele saylardan olusan bir matris iin


rand fonksiyonu kullanlr.
Kullanm; matris_ad=rand(m,n); biimindedir.(m:satr,n:stun)
Not 1) retilen matrisin tm elemanlarn k gibi bir say ile arparak,
saylar 0 ile k arasna ekebiliriz.
Not 2) Ondalkl saylardan olusmus bir matrisin elemanlarn
yuvarlayp tam say yapmak iin round fonksiyonunu kullanrz.

69

Matlab
5.2. Genel Matrisler:
zel Dizi (Matris) Olusturan Baz Fonksiyonlar:
d) Rastgele Saylardan Olusan Matris ve Fonksiyonu:

rnek:
a) 0 ile 1 arasnda rastgele saylardan olusan 10 elemanl a adnda bir satr
matrisi olusturalm.
b) Elemanlar 10 ile 50 arasnda saylardan olusan 5x3 tipinde b matrisini
olusturalm.
c) Elemanlar 50 ile 300 arasndaki tamsaylardan olusan 3x4 tipinde c matrisini
olusturalm.

70

Matlab
5.2. Genel Matrisler:

zm:
a) a=rand(1,10);
b) b=10+rand(5,3)*40;
c) c=round(50+rand(3,4)*250);

71

Matlab
5.2. Genel Matrisler:

e) Rastgele Saylardan Olusan Normal Dalml Matris ve


Fonksiyonu:
Elemanlar rasstgele saylardan olusan bir normal dalml bir matris iin
randn fonksiyonu kullanlr.
Kullanm; matris_ad=randn(m,n); biimindedir.

rnek: Rastgele saylardan olusan normal dalml 2x3 lk bir n matrisini


olusturalm.
zm: n=randn(2,3);

72

Matlab
5.2. Genel Matrisler:
f) Lineer Aralkl (Aritmetik) Dizi ve Fonksiyonu:

Baslang ve biis deerleri ve ka elemandan olusaca belirlenen diziyi


olusturmak iin linspace fonksiyonu kullanlr.
Kullanm;
dizi_ad=linspace(ilk_deer,son_deer,eleman_says);
biimindedir.

73

Matlab
5.2. Genel Matrisler:
f) Lineer Aralkl (Aritmetik) Dizi ve Fonksiyonu:

rnek: 10 ile 30 arasna 9 tane daha say koyarak a


adnda bir aritmetik dizi olusturalm.

Cevap:
a=linspace(10,30,11);

74

Matlab
6. MATRSLER VE LEMLER

Elimizdeki grubun her eleman iin bir matematik ilemi yapp bunu yeni bir
diziye atarken herhangi bir sorun yoktur.
Fakat iki farkl grupla ilemler yaparken dikkat etmemiz gereken genel
kurallar vardr.
rnein toplama ve karma yaparken iki dizinin de byklnn eit
olmas gerekmektedir.
Ayrca iki farkl dizinin elemanlar arasnda birebir ilem yapmak iin
matematik operatrnn bana nokta(.) koymak gerekir.
Bu durumda her bir eleman dier dizinin o sradaki elman ile ileme
sokacaktr.

75

Matlab
6. MATRSLER VE LEMLER
Birden fazla satr ve stuna sahip vektrlere matris denir.
Noktal virgl (;) iareti ile kolonlar ve virgle iareti ya da boluk
brakarak da bir sradaki elemanlar ayrabiliriz
rnek:
x=[ 3 4 5 6; 7 8 9 10; 11 12 13 14]
x=
3 4 5 6
7 8 9 10
11 12 13 14
Yukardaki 3x4 boyutunda bir matristir. MATLAB programna aadaki
gibi de sunulabilir.
x=[ 3 4 5 6
7 8 9 10
11 12 13 14]
x=
3 4 5 6
7 8 9 10
11 12 13 14

76

Matlab
6. MATRSLER VE LEMLER

Matristeki herhangi bir elemana direk ulamak iin aadaki gsterim


yeterlidir.
x(2,3)=9
Eer isteimiz eritiimiz bir eleman deitirmek veya yeni bir satr
eklemek ise aadaki gsterim yeterlidir. .
x(4,1)=1
x=
3 4
5
6
7 8 9 10
11 12 13 14
1 0
0
0
Bu durumda drdnc satr ilk elemann biz 1 deerini atadk ve dier
elemanlar kendiliinden 0 olarak atad.
77

Matlab
6. MATRSLER VE LEMLER
ki nokta st ste (:) kullanlarak belirli aralkta deien matrisler
yaratlabilir.
x=[1:2:7; 3:-1:0; -1:2]
x=
1 3 5 7
3 2 1 0
-1 0 1 2
Bir matrisin herhangi bir blmn semek iin ise aadaki gsterim
kullanlr;
z=x(2:3, 1:2)
z=
3 2
-1 0
Bu durumda z matris x matrisinin 2 ve 3 no lu satrlarndan 1 ve 2 no lu
stunlarn alm oluyor.
Herhangi bir satr veya stunu tamamen silmek istersek o satr ve stunu
seip [] ifadesine eitleriz.
z(:,2)=[ ]
z=
3
-1

78

Matlab
6. MATRSLER VE LEMLER

Matlab, size ve length komutlar yardm ile size matrisinizin boyutlarn syler.
a=[ 2 3 4 5 6
7 8 9 10 11];
s=size(a)
s=
2 5
b=[ 17 11 0 30 40 50];
k=length(b)
k=
6

79

Matlab
6. MATRSLER VE LEMLER
a) Toplama-karma Bir Say ile arpma lemi:

ki matrisi toplamak (veya karmak) demek, matrislerin ayn


mertebedeki elemanlar teker teker toplayp (veya karp ) ayn
mertebeye yazmak demektir.
Bu durumda iki matrisin de ayn mertebeden olmas gerei aktr.
Bir matrisi sabit bir sayyla ile toplamak (veya karmak) demek,
matrisin elemanlarnnn tmn teker teker o sayyla toplamak (veya
karmak )demektir.
Bir matrisi sabit bir sayyla ile arpmak demek ise, matrisin
elemanlarnnn tmn teker teker o sayyla arpmak demektir.

80

81

Matlab
6. MATRSLER VE LEMLER
rnek:
a=[1 2 3; 4 5 6];
b=[7 8 9; 10 11 12];
a ve b toplam:
sum=a+b
sum =
8 10 12
14 16 18
a y b den karmak;
diff=a-b
diff =
-6 -6 -6
-6 -6 -6
82

Matlab
6. MATRSLER VE LEMLER

rnek: a=[-1 3 5;2 1 7] ve b=[3 -3 -4;1 1 5] matrisleri


veriliyor.
a) c=a+b toplam matrisini
b) d=a-b matrisini
c) amatrisinin her elemannnn 5 eksiine karslk gelen e
matrisini
d) f=2a-3b matrisini bulduran islemleri yazalm.
zm:
a) c=a+b b) d=a-b c) e=a-5 d) f=a+a-b-b-b veya
f=2*a-3*b

83

Matlab
6. MATRSLER VE LEMLER
b) ki Matrisin arpm, Bir Matrisin Kuvvetleri ve
arpma slemi:
ki matrisin arpm islemi iki biimde anlaslr.
1) Ayn mertebeden iki matrisin elemanlarn teker teker , arpp, ayn mertebeye
yazmak demektir. Bunu .* islemi ile gereklestiririz.
2) Matematiksel anlamda iki matrisi arpmak istediimizde; birinci matris mxn
trnde ve ikinci matris mutlaka nxp trnde olmaldr; yani birinci matrisin
stun says ikinci matrisin satr saysna eit olmaldr.
Bu durumda birinci matrisin i. stun elemanlar ile, ikinci matrisin j. satrndaki
elemanlar karlkl olarak arplr ve sonular toplanr ve bu toplam arpm
matrisinin (i,j) inci mertebeye yazlr.
Matrisler aras arpma isleminin sembol de * dr.
84

Matlab
6. MATRSLER VE LEMLER

3) Bir a matrisinin her bir elemannn n. Kuvvetlerinden olusan matrisi


bulmak iin a.^n islemi kullanlr.
4) Satr ve stun saylar esit bir kare matrisi ardsk olarak n defa
kendisiyle arparak, a matrisinin n. kuvvetini bulabiliriz.rnein a matrisinin
karesi iin a*a veya a^2, kbn buldurmak iin a*a*a veya a^3,
drdnc kuvvetini buldurmak iin a*a*a*a veya a^4

Not) Bir a matrisinin eleman -elemana arpma islemine benzer mantkla, bir matrisin
tm elemanlarnn kareleri, kbleri, sinsleri, kosinsleri, logaritmalarndan olusan
matris bulunmak istenirse;
bunu srayla a.*a (veya a.^2), a.*a.*a, (veya a.^3), sin(a), cos(a), e
tabannda logaritmas iin log(a), 10 tabannda logaritmalar iin log10(a) ...
Biiminde gereklestirebiliriz.

85

Matlab
6. MATRSLER VE LEMLER
rnek: a=[-1 3 5;2 1 7] , b=[3 -3 -4;1 1 5] ve c=[1 0;-1 2;3 3]
matrisleri veriliyor.
a) a matrisinin elemanlar ile b matrisinin elemanlarn karslkl
arpmlarndan olusan c1 matrisi varsa bulalm.
b) a matrisi ile b matrisinin arpm matrisi olan c2 varsa bulalm.
c) a matrisinin elemanlar ile c matrisinin elemanlarn karslkl
arpmlarndan olusan c3 matrisi varsa bulalm.
d) a matrisi ile c matrisinin arpm matrisi olan c4 varsa bulalm.
e) a matrisinin elemanlarnn karelerinden olusan matris ile b matrisinin
kosinslerinden olusan matrisler toplamn bulalm.
f) x=[1 0;0 3] matrisinin i) Karesini ii) Kbn iii) 10.
kuvvetini bulalm.
86

Matlab
6. MATRSLER VE LEMLER
zm:
a) iki matrisin karslkl elemanlarnn arpmndan olusan matrisin tanml
olabilmesi iin ayn mertebeli olmas gerekir.Bu durumda c1 matrisi tanmldr
ve bunu c1=a.*b islemi ile gereklestirebiliriz.
b) iki matrisin arplabilmesi iin birinci matrisin stun says ikinci matrisin
satr saysna esit olmaldr.Halbuki a matrisi 2x3 b matrisi de 2x3 olduundan
bu iki matris arplamaz.
c) ki matrisin karslkl elemanlarnn arpmndan olusan matrisin tanml
olabilmesi iin ayn mertebeli olmas gerekir.Halbuki bu matrisler ayn
mertebeden olmadndan bu iki matris eleman-elemana arpma islemi
gereklemez.
d) ki matrisin arplabilmesi iin birinci matrisin stun says ikinci matrisin
satr saysna esit olmaldr.a matrisi 2x3 lk, c matrisi de 3x2 lik olduundan
bu iki matris arplabilir ve c4 arpm matrisi 2x2 lik bir matris olur.c4 arpm
matrisini c4=a*c islemi ile buluruz.
e) a.^2+cos(b)
87
f) i) x^2 ii) x^3 iii) x^10

Matlab
6. MATRSLER VE LEMLER

c) Bir Matrisin Devriini (Transpozesi) Bulma slemi:


Bir matrisin satrlarn stun, stunlarn satr olarak yazlmasyla
bulunan matrise, bu matrisin devrii (transpozesi) denir.
Bir matrisin devriini .' islemi ile bulabiliriz.
rnek: a=[-1 3 5;2 1 7] nn devriini buldurup d matrisine atayalm.
zm: d=a.';

88

Matlab
6. MATRSLER VE LEMLER

rnek:
b=[7 8 9; 10 11 12]; matrisinin transpozesini bulabilirmisiniz?

zm:
c=b'
c=
7
8
9

10
11
12
89

Matlab
6. MATRSLER VE LEMLER

SORU:

a=[1 2 3; 4 5 6];
c= [7,10;8,11;9,12];
ise a ve cnin arpm matrisi katr?
ZM:
arpma ilemi: k=a*c
k=
50 68
122 167

90

Matlab
6. MATRSLER VE LEMLER
SORU :
a=[1 2 3; 4 5 6]; b=[7 8 9; 10 11 12];
ise a matrisinin elemanlar ile b matrisinin elemanlarn karslkl
arpmlarndan olusan x matrisini bulalm?

ZM:
x=a.*b
x=
7 16 27
40 55 72
91

Matlab
6. MATRSLER VE LEMLER

d) ki Matrisin Blm, Birim Matris ve Bir Matrisin Tersi :

Ayn mertebeden iki matrisin elemanlarn teker teker, blerek, ayn


mertebeye yazlmasna iki matrisin sol blmesi denir ve bu ./ islemi ile
yaplr.
a, b ve c ayn mertebeden kare matrisler olmak zere;
c=a*b ise a matrisine c nin b matrisine blm denir.
c blm matrisi / islemi ile yaplr.

92

Matlab
6. MATRSLER VE LEMLER
d) ki Matrisin Blm, Birim Matris ve Bir Matrisin Tersi :
HATIRLATMA:
2x2 lik i2 adl birim matrisi i2=eye(2,2);
3x lk i3 adl birim matrisi i2=eye(3,3); islemi ile olusturabiiriz.
Ayn mertebeden a ve b kare matrisleri iin a ile b nin arpm birim matris ise
b matrisi a matrisinin (ayn biimde a matrisi de b matrisinin) ters matrisidir.

rnek:
3x3 lk bir a kare matrisinin tersini bulmak iin:

eye(3,3)/a veya inv(a)

islemini kullanrz.
93

Matlab
6. MATRSLER VE LEMLER

Bir Matrisin Determinant


Determinant, kare matrisleri bir sayya eleyen fonksiyondur.
Determinant fonksiyonunun, kare matrisi eledii o sayya matrisin
determinant denir.
A matrisinin determinant, detA veya |A| biiminde gsterilir.
|A|, matrislerde mutlak deer anlamna gelmez. |A| sfr veya
negatif de olabilir.

det(x)
94

Matlab
6. MATRSLER VE LEMLER
KURAL:

95

Matlab
6. MATRSLER VE LEMLER

rnek:
Verilen bir x matrisi iin:
x=[ 2 -1; 5 8]
Determinant:
deter=det(x)
deter =
21

96

Matlab
6. MATRSLER VE LEMLER

rnek Inverse ilemi:


Verilen bir x matrisi iin:
x=[ 2 -1; 5 8]
Detx=det(x)=21 ise;
y=inv(x)
y=
8/21
1/21
-5/21
2/21

97

Matlab
6. MATRSLER VE LEMLER
SORU:
a=[2 -10 0;1 2 4;3 0 1] matrisi ile b=[1 5 4;1 -1 2;0 1 -1] matrisleri veriliyor.

a) a matrisinin elemanlarn srasyla b matrisinin elemanlarna blerek elde


edilen matrisi b1 matrisine atayalm.

b) a matrisinin ta ters matrisini bulalm.

c) a ile ta matrisinin arpmnn 3x3 lk birim matris olduunu gsterelim.

d) a matrisinin b matrisine blmn b2 matrisine atayalm.


98

Matlab
6. MATRSLER VE LEMLER

zm:
a) b1=a./b

b) ta1=eye(3,3)/a veya ta2=inv(a)

c) a*ta ==eye(3,3)

d) b2=a/b
99

You might also like