Professional Documents
Culture Documents
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
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
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
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
Help Desk
Matlab hazrlanan
ara ve
Matlab olarak
fonksyonlar
26
MATLAB Balat Genel Yaps 1. Matlab'nDmesi Start Dmesi tm matlab uygulamalarna alan ksayollar iermektedir.
Veri Sihirbaz GUI Hazrlayc
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
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
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
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
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
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
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:
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
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
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
43
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
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
x=a + b
46
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
o o
MATLAB da ilemler soldan saa ilerler. lemler aras ncelik sras aadaki gibidir:
1. ^ 2. *, / 3. +, -
(Yksek) (Dk)
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
50
Matlab
3.6. zel Sabitler Matlab'da nceden tanmlanms baz sabitlerdir. Bunlar aadaki tabloda gsterilmistir.
51
Matlab
7. Sabitler, Deiskenler ve Metin Katarlar
52
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];
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.
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:
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:
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
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
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:
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.
Matlab
6. MATRSLER VE LEMLER
zm: a) b1=a./b
c) a*ta ==eye(3,3)
d) b2=a/b
99