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.
5

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.
6

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 matris scaler say, omx1 matris stun matrisi o1xn matris satr matrisi omxn matris m 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 KOMUT PENCERES

alma Dizini

alma Alan

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 Desktop Desktop 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: c deiskeni 1x1 boyutunda bir matris yani say, b deiskeninin ise 3x2 boyutunda bir matris, yani satr ve 2 stundan olusan bir matris, naslsn adl 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= 1 5
Yada :

Command Windowa : save yazlrsa deikenler matlab.mat veri dosyasna kaydedilmi olur. Matlab kapatp aalm ve matlab.mat aralm. (File open matlab.mat) .

2 7

3 9

save F:\MATLAB_UYG\katsayilar a

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

Help Desk

Veri dosyalarn aar alma ortamn kaydeder

Farkl alma dizinini Matlaba tantr

Matlab arayzn ayarlar 25

MATLAB 1. Matlab'n Genel Yaps Balat Dmesi

Matlab hazrlanan

ara ve

kutular, eklenti hazr

Matlab olarak

uygulamalarna ieren paketlerdir.

fonksyonlar

26

MATLAB Balat Genel Yaps 1. Matlab'nDmesi 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 File Import 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 salanr. Saylar (Numbers) Deikenler (Variables) leler (Operators) Fonksiyonlar (Functions)

ifadelerle

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; B=A /7; C=[3 4 5 6]; %A: deikenine skaler bir deer atar %B deikenine A deikeninin 1/7 si atanmtr % 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. ile gosterimlerinde bir fark yoktur. o (1+3i veya 1+3*i veya 1+i*3) / 1+sqrt(3)*j / -5i

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

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. +, -

(Yksek) (Dk)

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

3^256/3*2 ans = 0

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];

A = [4, 12, -8, 6]; >> b=[1 2 4 6 ]

Satr Vektr Stun Vektr

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

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];

D = [30:-10:-30]

Balang deeri

Art miktar

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 83
57

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 Dizi (Matris) Olusturan Baz Fonksiyonlar: Genel Matrisler: 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 Dizi (Matris) Olusturan Baz Fonksiyonlar: Genel Matrisler:

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