You are on page 1of 124

NSZ

Genel olarak gelimekte olan lkeler ile gnmzde gelimi olarak kabul edilen lkelerin karlatrlmas incelendiinde ilk olarak gze arpan ar sanayi olarak adlandrlan kurulu retim bantlarnda oturmuluktur. Artk mhendislik teknolojisinin ilerlemesi ve bilgisayar destekli alma olanaklar sayesinde ok az eleman ile yksek saylarda ve kalitede retim yapmak mmkn hale gelmitir. Bu gibi imkanlarn lke sathnda yaygnlamas ve daha ok uygulama alan bulabilmesi zellikle tasarm ve planlama gibi sanayide ana unsurlar oluturan teknik ekip kadrosunun nitelikleri ile de dorudan ilintilidir. Kt olan kaynaklarn optimum seviyelerde kullanlabilmesi ve verimliliin arttrlmas ynnde belirgin admlar atlmaldr. Optimizasyon ve verimlilik art iin yazlmlarn etkisi modern dnyada nemli bir yer tutmutur. Bu yazlmlarn ierisinde zellikle matematik tabanl uygulamalar ierisinde nemli bir yer tutmu olan MATLAB program almamzn en nemli basamadr. MATLAB, saysal hesaplamalar, grafiksel programlamalar ve simlasyon uygulamalar iin gelitirilmi trdelerine gre zel ve stn bir paket programdr. MATLAB ayrca kolay program yazlm ve ileri seviyede grafik zellikler de salamaktadr. Hazr fonksiyon dosyalar yardm ile dier programlama dilleriyle satrlarca tutan programlar, MATLAB programcl yolu ile sadece birka satrla hazrlanabilir. Herkes iin faydal ve temel oluturacan dndmz bu tez almasnda ilerinin younluuna ramen yardmn hibir zaman esirgemeyen deerli hocamz ve danmanlmz yrten Yrd. Do. Dr. Caner AKUNER hocamza ve bize yardm istediimizde bize hi hayr demeyen Yrd. Do. Dr. smail TEMZ ve Do. Dr. Necibe Fsun Oyman SERTELLER hocalarmza zellikle teekkr ederiz

NDEKLER

NSZ.... I ZET ............................................................................................... VIII ABSTRACT ........................................................................................ IX SEMBOLLER ................................................................................. XIII KISALTMALAR .............................................................................. XII EKL TABLOSU........................................................................... XIV TABLO LSTES ............................................................................ XVI BLM 1: MHENDSLK PROBLEMLERNN ZMNDE SMULASYON VE MODELLEME ................................................... 1
1.1. MHENDSLK ..........................................................................................1 1.2. MHENDSLK PROBLEMLERNN ORTAYA IKII .......................1 1.3. SMULASYON.............................................................................................2 1.4. SMULASYONUN AVANTAJLARI VE DEZAVANTAJLARI ...............3 1.5. MODELLEME .............................................................................................3 1.6. MODEL TRLER ......................................................................................4 1.6.1. 1.6.2. Fiziksel model: ....................................................................................4 Matematiksel model:............................................................................4

BLM 2: MATLAB .......................................................................... 6


2.1. MATLABA GR ......................................................................................6

II

2.2. MATLABIN KULLANIM AMACI VE YER ..........................................6 2.3. MATLAB MASAST BRMLER .........................................................7 2.3.1. Komut penceresi (Command Window): ...................................................8 2.3.2. Bulunulan dizin (Current Directory): .......................................................8 2.3.3. Dizin eriimi (Launch Pad): .....................................................................8 2.3.4. alma Alan (Workspace): ....................................................................9 2.3.5. Komut Tarihi (Command History): ..........................................................9 2.3.6. Dizi editr (Array Editr) : ....................................................................9 2.3.7. Demolar (Demos) penceresi:..................................................................10 2.3.8. Yardm (Help): ......................................................................................11 2.4. MATLABDA BULUNAN ARA KUTULARI .......................................12 2.4.1. Signal Processing Toolbox (Sinyal leme Ara kutusu): .......................12 2.4.2. Control Systems Toolbox (Kontrol Sistemleri Ara kutusu):..................12 2.4.3. System Idendification Toolbox (Sistem Tanmlama Ara kutusu): .........12 2.4.4. Neural Network Toolbox (Yapay Sinir Alar Ara kutusu):..................12 2.4.5. Spline Toolbox (Oluum Ara kutusu):..................................................13 2.4.6. Robust-Control Toolbox (Robot Kontrol Ara kutusu): .........................13 2.4.7. -Analysis and Synthesis Toolbox (p.Analiz ve Sentez Ara kutusu):....13 2.5. MATLAB TEMEL YAZIM NOTASYONU .............................................13 2.6. MATLABDA KULLANILAN FADELER (EXPRESSIONS) ...............13 2.6.1. Deiskenler: ..........................................................................................14 2.6.2. Saylar: ..................................................................................................14 2.6.3. Operatorler(saysal islemciler): ..............................................................14 2.6.4. Fonksiyonlar:.........................................................................................15 2.7. MATLABDA KULLANILAN ZEL DEERLER VE SABTLER .....16 2.8. FORMAT KOMUTU .................................................................................16

III

2.9. TRGONOMETRK VE HPERBOLK FONKSYONLAR ..................17 2.10. KARMAIK (KOMPLEKS) SAYI LEMLER...................................17 2.11. LOGARTMK VE STEL FONKSYONLAR ....................................19 2.12. YUVARLAMA LEMLER ..................................................................21 2.13. KALAN BULMA LEMLER ...............................................................21 2.14. TEMEL STATSLK LEMLER ........................................................22 2.15. MATLABDA BULUNAN KOMUT ARETLER ..............................23 2.16. DZLER ..................................................................................................26 2.17. VEKTR LEMLER ...........................................................................26 2.18. MATRS LEMLER .............................................................................27 2.19. TEMEL VEKTR VE MATRS LEMLER ......................................29 2.21. MATLABDA PROGRAMLARIN HAZIRLANMASI ..........................32 2.22. M- DOSYALARI ......................................................................................32 2.22.1. Dz yaz dosyalar: ..............................................................................33 2.22.2. Fonksiyon dosyalar: ...........................................................................34 2.23. FONKSYON FONKSYONLARI..........................................................37 2.24. M-DOSYALARININ HATA GSTERM ............................................38 2.25. KARAKTER DZGE (STRING) LEMLER ......................................38 2.26. MATRS LELER .............................................................................40 2.26.1. likisel ileler: ...................................................................................40 2.26.2. Mantksal ileler: ...............................................................................41 2.27. MATLABDA KULLANILAN ART DEYMLER (CONDITIONAL STATEMENTS):...............................................................................................41 2.27.1. if yapisi : .......................................................................................41 2.27.2. Switch case yaps:...............................................................................43 2.27.3. For dngs:........................................................................................44 2.27.4. While dngs:....................................................................................45 IV

2.28. VERLERN M-DOSYLAR EKLNDE OLUMASI ..........................46 2.29. MATLAB DIINDA OLUTURULAN VER DOSYALARININ YKLENMES .................................................................................................46 2.30. PROGRAM IKIINI GSTERME KOMUTLARI ............................47 2.31. MATLABDA GRAFKLER ...................................................................50 3.31.1. Boyutlu(2D) Grafikler: ........................................................................50 2.31.2 Bir plotun oluturulmas: ....................................................................54 2.31.3. 3 Boyulu (3D) Grafikler: .....................................................................55 2.32. DENKLEM TAKIMLARININ ZM .............................................57 2.32.1. Dorusal denklem zmleri: ..............................................................57 2.32.2. Dorusal denklem takmlarnn zmleri:...........................................58 2.32.3. Denklem Takmlarnn Ters Matris lemi Yolu ile zm: ...............59 2.32.4. Dorusal olmayan denklemlerin zm: ............................................60 2.32.5. Dorusal olmayan denklem takmlarnn zmleri: ............................62 2.32.6. Matlabda diferansiyel denklem zmleri:..........................................63 2.32.7. Matlabda diferansiyel denklemlerin saysal zmleri: .......................63 2.32.8. Matlabda diferansiyel denklemlerin sembolik zmleri: ...................66 2.33. SIMULINK (SMULASYON): ................................................................67 2.33.1. Simulink Bloklar: ...............................................................................68 2.33.2. Simulink modellerin oluturulmas ve altrlmas: ............................68 2.33.3. Adm adm bir modelin oluturulmas ve altrlmas: .......................69

Blm

3:

ELEKTRKSEL

DEVRE

ELEMANLARININ

MATEMATKSEL MODELLER ................................................... 74


3.1. GR ..........................................................................................................74 3.2. YK KAVRAMI ........................................................................................74 3.3. BR BOBNDEK AKIM MKTARI ........................................................75

3.4. BR KONDANSTRDEK GERLM MKTARI ..................................76

Blm 4: MATLAB UYGULAMALARI .......................................... 78


4.1. GR: ........................................................................................................78 4.2. COLOUMB YASASI UYGULAMASI ......................................................78 4.2.1. Coloumb yasas uygulamasna dair algoritma: .......................................80 4.2.2. Coloumb yasas uygulamasna dair program blou: ...............................80 4.3. KONDANSATR SIASI UYGULAMASI .............................................82 4.3.1. Kondansatrn dearj uygulamasna dair algoritma: .............................84 4.3.2. Kondansatrn dearj uygulamasna dair program blou: .....................85 4.4. DYOT (DIODE) AKIMI UYGULAMASI ...............................................86 4.4.1. Diyot akm uygulamasna dair algoritma: .............................................87 4.4.2. Diyot akm uygulamasna dair program blou: .....................................88 4.5. DORU GERLMDE KONDANSATR AKIMI VE GERLM DEM UYGULAMASI .............................................................................90 4.5.1. Doru gerilimde seri RLC devresinde akm gerilim deiimi uygulamasna dair algoritma: ..........................................................................91 4.5.2. Doru gerilimde seri RLC devresinde akm gerilim deiimi uygulamasna dair program blou: ..................................................................92 4.6. BR KAYNAIN VEREBLECE MAKSMUM GC BULMA (MAKSMUM G TEOREM) UYGULAMASI .........................................95 4.6.1. Bir kaynan verebilecei maksimum gc (maksimum g teoremi) bulma uygulamasna ait algoritma: ..................................................................97 4.6.2. Bir kaynan verebilecei maksimum gc (maksimum g teoremi) bulma uygulamasna ait program blou: ..........................................................97 4.7. ASENKRON MOTORUN BO ALIMA VE KISA DEVRE ALIMA PARAMETRELERN BULMA UYGULAMASI ..................... 100 4.7.1. Asenkron makine bota ve ksa devre parametreleri uygulamasna dair algoritma: ...................................................................................................... 104

VI

4.7.2. Asemkron makine bota ve ksa devre parametreleri bulma uygulamasna dair program blou: ....................................................................................... 105

KAYNAKLAR.....106 ZGEM

VII

ZET

MATLAB LE MHENDSLK PROBLEMLERNN ZM


Bu tez almasnda elektrik mhendisliine dair baz problemlerin matematiksel modellerinin verilmesi ve bu modellerden faydalanarak MATLAB paket programnda oluturulan program bloklar ile problemlerin zmleri gerekletirilmitir. Bylece MATLAB ile problemlerin zmleri ile lisans dzeyinde derslerde kullanlacak problemlerin zmleri daha az vakit ve aba harcayarak zlmesi, konularn daha iyi anlalmas iin katkda bulunulmutur. MATLAB ilk defa 1985 ylnda C.B. Moler tarafndan, matematik zellikle matris tabanl matematik ilemlerinin yaplmas iin gelitirilmi etkileimli bir paket programdr. 2002 yl austos ay itibariyle MATLAB 6.5 srm 2011 eyll ay itibariyle ise MATLAB 7.6 srm kullanclar kullanmna sunulmutur. MATLAB paket program yerleik ktphaneleri ile gerek niversitelerde bata matematik ve mhendislik dallarnda olmak zere tm bilim dallarnda gerekse sanayi evrelerinde yksek verimli aratrma, gelitirme ve analiz arac olarak yaygn bir kullanm alan bulmutur. Bu tez almas drt ana blmden olumaktadr. Birinci blmde, temel olarak modelleme ve simlasyon kavramlar hakknda bilgi verilmitir. kinci blmde, MATLAB paket program herkesin anlayabilecei basit bir dille temel fonksiyonlar ve kullanmlar aklanmtr. nc blmde elektrik mhendisliinde temel olan baz kavramlarn matematiksel modelleri verilmitir. Drdnc blmde ise, elektrik mhendisliine dair baz problemlerin matematiksel modelleri yardmyla oluturulan algoritmalar ve program bloklar verilmitir.

Haziran, 2012

Osman ELEB Murat KORKMAZ Hayri SARI

VIII

ABSTRACT

SOLVING ENGINEERING PROBLEMS WITH MATLAB


In the thesis, problem solutions are specified via the some problems which has mathemantical models are given and problem blocks are created based on models in the progaramme MATLAB. So, solving the problems that are going to be use in licence lessons will be possible in a shorter time and with spending less energy and are going to be understood better. That is been contributed. Matlab is an interactive package programme that is been improved to calculalate matrix especially by C. B. Moler in 1985. Matlab 6.5 version is been published in 2002 August and Matlab 7.6 is been published in 2011 September for the use of Matlab users. Matlab package programme with its integrated libraries found a large usage area as a high performed research, development and analyze tool at universitesites and engineering departments specially, and also in whole scientific areas and industry vicinities. This thesis includes 4 main chapters. First chapher includes information about modelling and simulation notions. Second chapter has the explaitions on base functions and their usage. In third chapter there are mathematical models of some notions that are base in the electrical engineering. In last chapter, there are algorithmn and programme blockes are given about electrical engineering that are been created by the help of mathematical models.

June, 2012

Osman ELEB Murat KORKMAZ Hayri SARI

IX

SEMBOLLER

: elektrostatik kuvvet vektr, : kuvvetin uyguland yk, : yk, : iki yk arasndaki mesafe vektr, : : : Q V C r 'in konum vektr, 'nin konum vektr, ve ynne bakan birim vektrdr.

: biriken yk miktar (Coulomb) : uygulanan gerilim (Volt) : sa ya da kapasite (Farad) :Boluun dielektrik katsays:(8.854x10-12 F/m) :Plakalar arasnda kullanlan yaltkan malzemenin bal (relative)

dielektrik katsays (oran olduu iin birimsizdir) A d Vd io : Plakalarn alan (m) : Plakalar aras uzaklk (m) : diyot zerinde oluan gerilim (Volt) : diyot zerinden geen sznt akm (Amper)

K q T id Vs Vc VL VR IR IL IC RS VS RL VT RT Vmax Pmax is Soc

: boltzman sabiti (1,38x10-23 joule / Ko) : diyot zerinden geen elektron yk : scaklk (K) : diyot zerinden akan akm (Amper) : kaynak gerilimi (Volt) : kondansatr ularndaki gerilim (Volt) : bobin ularndaki gerilim (Volt) : diren eleman ularndaki gerilim (Volt) : diren eleman akm (Amper) : bobinden geen akm (Amper) : kondansatrden geen akm (Amper)
:

kaynak direnci (ohm)

:kaynak gerilimi (Volt) : yk direnci (ohm) : toplam gerilim (Volt) : toplam diren (Volt) : maksimum gerilim (Volt) :maksimum g (Watt) :kaynak akm (amper) : bota durumdaki asenkron makinenin grnr gc XI

Poc Qoc Rfe

: bota durumdaki asenkron makinenin aktif gc : bota durumdaki asenkron makinenin reaktif gc : bota durumdaki asenkron makinede oluan demir kaybn meydana getiren diren

Xm R1 R2 X1 X2 Us Er Es Ur Is Ir Ls Lr

: Mknatslanma akmn oluturan reaktans deeri : stator tarafna ait diren : rotor tararna ait indirgenmi diren : stator tarafna ait reaktans : rotor tarafna ait indirgenmi reaktans : stator gerilimi : rotor zerinde indklenene elektromotor kuvveti : stator zerinde indklenene elektromotor kuvveti : rotor gerilimi : stator sarglarndan geen akm : rotor zerinden geen akm : stator indktans : rotor indktans

XII

KISALTMALAR

MATLAB CACSD ASCII

: Matris Laboratuar : Bilgisayar destekli denetim sistemi tasarm : Bilgi Deiimi in Amerikan Standart Kodlama Sistemi

XIII

EKL LSTES

ekil 2. 1. Matlab program ekran ............................................................................7 ekil 2. 2.Workspace Ekran .....................................................................................9 ekil 2. 3.Dizi editr (array editor) ekran .............................................................10 ekil 2. 4.Demo penceresi.......................................................................................11 ekil 2. 5.Yardm (Help) penceresi .........................................................................12 ekil 2. 6.Editr penceresi ......................................................................................34 ekil 2. 7.Bir fonksiyon dosyas ..............................................................................35 ekil 2. 8.For dngs ............................................................................................45 ekil 2. 9.Plot ekrannda etiket grnm ...............................................................52 ekil 2. 10.Plot ekrannn leklendirilmesi ............................................................53 ekil 2. 11.Plot3 komutu ile oluturulmu helezon grafii .......................................56 ekil 2. 12.Sembolik olarak bir polinom .................................................................57 ekil 2. 13.Sembolik olarak dorusal denklem takm .............................................58 ekil 2. 14.Sembolik olarak matris ve vektr takm ...............................................59 ekil 2. 15.Sembolik olarak vektr takm...............................................................59 ekil 2. 16.Simulink bloklarndan bazlar...............................................................68 ekil 2. 17.Simulink alma (untitled) penceresi ....................................................69 ekil 2. 18.Simulink alma (untitled) penceresi ....................................................69 ekil 2. 19.Simulink blok ktphanesi ....................................................................70 ekil 2. 20.alma sayfasna bloklarn yerletirilmesi ............................................70 ekil 2. 21.alma sayfasna bloklarn yerletirilmesi ............................................71 ekil 2. 22.Mux blok parametreleri .........................................................................71 ekil 2. 23.alma sayfasnda bloklar aras balantlar ..........................................71 ekil 2. 24.alma sayfasnda bloklar aras balantlar ..........................................72 ekil 2. 25.alma sayfasnda bloklar aras balantlar ..........................................72 ekil 2. 26.Simlasyon altrlmas sonucu scope ekran ......................................73 ekil 4. 1.Yklerin x-y koordinatlarna gre konumlar...........................................79 ekil 4. 2.Coloumb yasas uygulamasna ait program ..............................................81

XIV

ekil 4. 3.Coloumb kanunu uygulamasnda yklerin konumlarna gre deiimi ....82 ekil 4. 4.Kondansatre ait prensip emas..............................................................82 ekil 4. 5.Kondansatrn dearj uygulamasna ait balant emas ..........................84 ekil 4. 6.Kondansatrn dearj uygulamasna ait program blou ...........................85 ekil 4. 7.Kondansatrn dearj uygulamasna ait grafik kts .............................86 ekil 4. 8.Diyot genel gsterimi ..............................................................................87 ekil 4. 9.Diyot akm uygulamasna ait program blou ..........................................89 ekil 4. 10.Diyot akm uygulamasna ait grafik kts ...........................................89 ekil 4. 11.Seri RLC devresi ...................................................................................90 ekil 4. 12.Doru gerilimde seri RLC devresinde akm gerilim deiimi uygulamasna ait program blou .............................................................................93 ekil 4. 13.Doru gerilimde seri RLC devresinde akm gerilim deiimi uygulamasnda kapasite ular gerilim grafii .........................................................94 ekil 4. 14.Doru gerilimde seri RLC devresinde akm gerilim deiimi uygulamasnda akim deiimi grafii ......................................................................95 ekil 4. 15.Maksimum g teoremine ait prensip emas.........................................97 ekil 4. 16.Bir kaynan verebilecei maksimum gc (maksimum g teoremi) bulma uygulamasna ait program blou ...................................................................99 ekil 4. 17.Bir kaynan verebilecei maksimum gc (maksimum g teoremi) bulma uygulamasna ait grafik ekran ......................................................................99 ekil 4. 18.Sarg direnci llmesi ........................................................................ 100 ekil 4. 19.Asenkron makine bota alma deneyi balants ............................... 101 ekil 4. 20.Ksa devre deneyi balant emas ....................................................... 103 ekil 4. 21.Ksa devre parametreleri e deer devresi ............................................ 103 ekil 4. 22.Asenkron makineye ait edeer devre.................................................. 104 ekil 4. 23.Asenkron makine bota ve ksa devre parametreleri bulma uygulamasna dair program blou................................................................................................ 106

XV

TABLO LSTES

Tablo 2. 1.Trigonometrik ve hiperbolik fonksiyonlarn notasyonlar .......................17 Tablo 2. 2. Karmak say rnei ............................................................................18 Tablo 2. 3.Ka (Kontrol) kodlar ..........................................................................49 Tablo 2. 4.Dnm (Biim) kodlar ......................................................................49 Tablo 2. 5.izgi ve iaret tipleri..............................................................................55

Tablo 4. 1.Kondansatr u gerilimlerin zamana gre deiimi ................................84

XVI

BLM 1: MHENDSLK PROBLEMLERNN ZMNDE SMULASYON VE MODELLEME

1.1.

MHENDSLK Mhendislik; deneyim ve uygulama yoluyla matematik ve fen bilimlerine

ilikin edinilen bilgilerin, doann sunduu malzeme ve enerjilerin insanln yararna ekonomik bir ekilde kullanlmas iin yntemler gelitirmek zere deerlendirmeler yaplmasn ve uygulamaya geirilmesini salayan meslektir. Mhendislik yaklam mhendislik tasarm yntemi olarak da

isimlendirilmekte ve yedi admdan olumaktadr: [1] 1.2. Problemin tanm, Gerekli bilginin derlenmesi, zmler iin aratrma, Dnceden ncl tasarmlara gei, zmlerin deerlendirilmesi ve uygun zmn seimi, Raporlarn, planlarn ve spesifikasyonlarn hazrlanmas, Tasarmn uygulanmas.

MHENDSLK PROBLEMLERNN ORTAYA IKII Temel olarak mhendislik problemleri insanlarn gereksinimleri sonucu ortaya

kmaktadr. Yeni bir cihaz veya rn fikrine sahip olma mhendislik problemlerinin ortaya koyan ve mhendislik tasarmnn nemli bir srecidir. Bazen mhendise bir talep ile gelen bir tketici bu durumu belirler. Bazen de byle bir fikre sahip olan yada yeni bir rnn gerekliliini gren kiinin kendisi bir mhendistir. Bu noktada fikrin mantkl olup olmadn, gerekletirilip gerekletirilemeyeceini ve fikrin satlp satlamayacan belirlemek iin nemli lde dnlr ve aratrma yaplr. Karar verildikten sonra problemin zmne dair sreler gerekletirilir. [1]

1.3.

SMULASYON Simlasyon, gerek bir sistemin modelini tasarlama sreci ve sistemin

davrann anlamak veya deiik stratejileri deerlendirmek amac ile, gelitirilen bu model zerinde denemeler yapmaktr. (Hala, 1982) Bir baka tanma gre simlasyon, gerek bir prosesin veya sistemin zamana bal olarak modelini tanmlayan matematiksel bir modeldir. Simlasyon ister elle, isterse bilgisayar ile yaplsn, bir sistemin yapay kaytlarnn oluturulmas ve gerek sistemin iletim karakteristikleriyle ilgili sonularnn elde edilmesinde bu yapay kaydn incelenmesini kapsamaktadr. (Banks ve Carson, 1984) Simlasyon, teorik ya da gerek fiziksel bir sisteme ait neden-sonu ilikilerinin bir bilgisayar modeline yanstlmasyla, deiik koullar altnda gerek sisteme ait davranlarn bilgisayar modelinde izlenmesini salayan bir modelleme tekniidir. Simlasyon, gerek hayattaki olaylarn bilgisayar ortamna aktarlmas ilemidir. Sanal ortamlar salayan yazlmlardr. Bir sistemin simlasyonu, bu sistemi temsil edebilecek bir model oluturma ilemidir. Simlasyonlar, genel tasarm formlar iinde metin, test, canlandrma, seslendirme, altrma-uygulama gibi pek ok tasarm seeneinin uygulanmasna olanak tanrlar. Yaparak, yaayarak renmeyi salarlar... Eitimsel simlasyon, bir olay veya aktivitenin etkileim sonucu renilmesini salayan modellemedir. Simlasyon; nerilen veya gerek dinamik bir sistemin modellenmesi ve zaman iindeki davrann gzlenmesi ilemidir. Bir simlasyon almas, herhangi bir sistemin davrannn incelenmesi ve farkl parametrelerin alma durumuna etkilerinin aratrlmas amac i le tasarm sistemin tm nemli durumlarn temsil yaplr. Simlasyo n eden b ir modelin almalarnda uygulanan iki adm; model tasarm ve deneylerdir. Model kurulmasdr. Geerli bir model kurulduktan sonra deneyler ksm baslar. Simlasyon genell i k l e mevcut olmayan veya pahal ve zor gerekletirilebilecek sistemlerin denenmesine imkan salar. [2]

1.4.

SMULASYONUN AVANTAJLARI VE DEZAVANTAJLARI Simlasyon almas problem zmede son derece gl bir yardmc olup,

yaygn kullannn eitli nedenleri vardr. Bunlar u baslklar altnda derlenebilir: Karmak yapdaki gerek sistemleri analitik olarak inceleyerek matematiksel modellerin kurulmasndaki glkler. [2] Simlasyon; yeni politikalar, parametreler veya alma koullarnn denemesine imkan salayarak sistem performansnn bu yeni koullar iin tahmini salar. Alternatif dizaynlarn birbiri ile karlatrlmasn mmkn klar. Gerek sistemin rahatsz edilmeden, bozulmadan, tehlikeye atlmadan denenmesi salanr. ncelenen sistemin farkl zaman aklarnda ele alnmas mmkndr. rnein, sktrlm bir zamanda alma hzlandrlarak sistem hakknda genel bilgi elde edinilebilecei gibi, geni bir zaman aralnda sistem hakknda ayrntl bilgi edinme mmkn olabilir. Bu avantajlara ramen, simlasyon almalarnn baz dezavantajlarnn da belirlenmesi gerekir. [2] Simlasyon modelleri pahal ve gelitirilmesi zor modellerdir. Simlasyon modellerinin stokastik yaps, gerek sistemle ilgili ancak tahminlerde bulunmay salar Simlasyon modelleri probleme en iyi zm bulmak yerine alternatif zmleri karlatrr. Simlasyon sonularnn incelenen sistemi doru yanstmas iin modelin geerlilii ok nemlidir. Simlasyonda bilgisayara olan bamllk, almann uzun srmesine pahal olmasna neden olur. 1.5. MODELLEME Modelleme bir sistemi incelemek zere o sistemin basit bir rnei yaplmas anlamna gelir. Bu rnek gerek sistemin yardmcs ve basitletirilmi bir eklidir. Modelleme sistemlerin karmakln zmlemede kullanlan en eski ve en etkin

yntemdir. Modeller gerek dnyadaki rneklerinin yerini alamazlar, ancak gerek olay veya sistemin karmak yapsnn anlalabilir paralara indirgenmesinde yararl olurlar. Model, olay veya sistemi tanmlamaya baka bir deyile bir rnek tretmeye yardmc olur. Bir sistem modellenirken farkl bak alaryla tekrar tekrar incelenir. Bu inceleme srasnda modellemeyi yapan kimse sistemin zelliklerinden o anda ilgilendiklerini ne karrken dierlerini gz ard edebilir. Sonuta oluan bu soyut yap sistemin ilgilenilen zelliklerinin bir modeli olur. Hibir model gerek sistemin zelliklerini tmyle iermez. [3] 1.6. MODEL TRLER Modeller, matematiksel veya fiziksel modeller olarak snflandrlabilir. Bir matematiksel model, sistemi temsil etmek iin sembolik notasyon ve matematiksel denklemleri kullanr. Simlasyon modeli, belirli tipte bir matematiksel sistem modelidir. 1.6.1. Fiziksel model: Modelleme, bir fiziksel olayn laboratuar koullarnda

Fiziksel

gerekletirilen, benzer bir fiziksel olay ile incelenmesi tekniidir. Fiziksel model ynteminde basarm, mevcut sistem ya da sistemin prototipi deiik koullar altnda incelenerek elde edilebilir. Fiziksel model, en gvenilir ve en doru yntem olmasna ramen, zellikle karmak iletiim sistemleri iin planlama ve tasarm aamalar gibi eitli konfigrasyonlarn denenmesinin zorunlu olduu birok durumda gerekletirilmesi olduka zordur. Prototip ya da gerek bir sistemle alma pratik olmayan, yksek maliyet ve uzun zaman gerektiren bir yntemdir. 1.6.2. Matematiksel model:

Matematiksel modelleme, matematii btn dnyaya yayarak uygulamaktr. Matematiksel modelleme srecinde matematiin dndan doan bir konu alnr ve bu konu matematiksel olarak ifade edilir ki bylece matematiksel teknikler orijinal konuya k tutmak iin kullanlabilir. Model, veriler, kavramlar, ilikiler, artlar ve varsaymlar matematiksel forma dntrld zaman sonu verir.

Matematiksel modelleme, orijinal gerek problemin anlalmasndan balayp bir model kullanarak ngrler yaplabilmesine kadar sren btn sreci kapsar.

BLM 2: MATLAB

2.1. MATLABA GR MATLAB; (MATrix LABoratory); ilk defa 1985de C.B Moler tarafndan matematik ve zellikle de matris esasl matematik ortamnda kullanlmak zere gelitirilmi etkileimli bir paket programlama dilidir. lk srmleri FORTRAN diliyle (Linpack ve Eispack projeleri ile) hazrlanm olmakla beraber son srmleri (1999 yl itibariyle 5.3 dr) C dilinde hazrlanmtr. lk gelitirildii yllarda bilim adamlarnn problemlerinin zmlerinde matris temelli teknikleri kullanarak yardmc olmaktayd. MATLAB mhendislik alannda (hesaplamalarnda); saysal hesaplama, veri zmleri ve grafik ilemlerinde kullanlabilecek genel amal bir program olmakla beraber zel amal modler paketlere de sahiptir. CONTROL TOOLBOX, SIGNAL TOOLBOX gibi paket programlar CACSD (Bilgisayar destekli denetim sistemi tasarm) paketler olup bunlar denetim sistemlerinin tasarmnda ok etkili aralardr. Ayrca paket program ierisinde alan SIMULINK, etkileimli benzetim programlarnn hazrlanmas ve altrlmasnda byk kolaylklar salamaktadr. 2002 yl austos ay itibariyle MATLAB 6.5 srm kullanclara sunulmu olup, gnmzde ise en son 7.6 srm ile belirtilen yerleik ktphaneleri ile gerek niversitelerde bata matematik ve mhendislik dallarnda olmak zere tm bilim dallarnda gerekse sanayi evrelerinde yksek verimli aratrma, gelitirme ve analiz arac olarak yaygn bir kullanm alan bulmutur. Matlab; Mathworks firmas tarafndan gelitirilen ve datlan komut temelli bir paket programdr. (Web adresi: http://www.mathworks.com, E-mail: info@mathworks.com ) [4,5] 2.2. MATLABIN KULLANIM AMACI VE YER Matlab tm mhendislik alannda, saysal hesaplamalar, veri zmlenmesi ve grafik ilemlerinde kolaylkla kullanlabilen bir programlama dilidir. FORTRAN ve C dili gibi yksek seviyeden programlama dilleri ile yaplabilen hesaplamalarn pek ounu Matlab ile yapmak mmkndr. Buna karlk Matlabn fonksiyon

ktphanesi sayesinde FORTRAN ve dier programlama dillerine gre Matlabta daha az sayda komutla zm retmek mmkndr. Gerekte Matlab, M-dosyalar (M-files) olarak bilinen pek ok sayda fonksiyon dosyalarndan (altprogramlardan) ibarettir. M-dosyalar ASCII formatnda olup okunabilirlii olan, Matlab programlama dili kodlarndan olumutur. Bu yzden M-dosyalar ktphanesi kullanc tarafndan mdahale edilebilirdir. Ancak bu kodlara zorunlu olunmadka mdahale edilmemesi, deitirilmesi gerekir. Matlabn kullanm yerleri ise aadaki gibi sralanabilir. [4, 5] Denklem takmlarnn zm, dorusal ve dorusal olmayan diferansiyel denklemlerinin zm, integral hesab gibi saysal hesaplamalar, Veri zmleme ilemleri, statistiksel hesaplamalar ve zmlemeler, Grafik izimi ve zmlemeler, Bilgisayar destekli denetim sistemi tasarm. 2.3. MATLAB MASAST BRMLER

ekil 2. 1. Matlab program ekran

Matlab paket programndaki al ekrannda yer alan birimler aada sra ile aklanmtr. [6, 7, 8] 2.3.1. Komut penceresi (Command Window): Adndan da anlaslaca gibi bu pencere komut penceresi olup Matlabn en nemli penceresidir. Bu pencereden Matlab ile ilgili komutlar klavyeden girer, komutun ilemesini salamak iin de enter tuuna basarz. Komutlar girdiimiz satr >> ile baslar ki bu satra komut satr denir. Komut satrna, Matlab iin anlaml komutlar gerekmektedir. rnein; merhaba yazp enter tuuna basarsak ??? Undefined function or variable 'merhaba'. gibi bir karlk alrz. Bu da merhaba adl ne bir fonksiyon ne de bir deikenin tanmlanmam olduu anlamna gelir. rnein; a=3 (enter), b=-7 (enter) islemlerini yapp a*b (enter) yaptmzda ekranda; ans = -21 grlr. rnein; komut satrna clc yazp enter tuuna basarsak, komut penceresine yazlan komutlarn tm silinir ve kursr (imle) pencerenin en st ve sol ksesine konumlanr. clear 2.3.2. Bulunulan dizin workspace penceresindeki daha nceden Directory): Matlab dosyalarnn tanmlanm olan deikenleri silmek iin kullanlmaktadr. (Current kaydedildii, yklendii dosyalarn bulunduu klasr (dizin), varsaylan klasr olarak belirlemeye yarar. Aksi belirtilmedike bu klasr C:\Matlab\work gibi bir klasrdr. 2.3.3. Dizin eriimi (Launch Pad): Matlab ksayollarnn bulunduu penceredir. Bu pencereden Matlab uygulamalarna, simulink penceresine, ara kutularna ve blok setlerine ulalabilir. rnein; Matlab ile ilgili yaplabilecek olan ilemler hakknda bilgi sahibi olmak iin bu pencereden yararlanabiliriz. rnein; Matlab ile ilgili yaplabilenleri, demo olarak izlemek istersek; MATLAB-Demos sekmesine tklamalyz. Karsmza Desktop, Environment, Matrices, Numerics, Graphics, Language ... gibi alt blmler kar. rnein Grafik ile ilgili bilgilenmek ve baz grafiklerin demolarn grmek istersek Graphics blmn tklamalyz. Bu blm (veya yanndaki + isaretini) tkladmzda, ... 2D Plots, 3-D Plots, ... gibi blmler grnr. rnein 2-D Plots tklanrsa iki boyutlu 8

grafiklerle ilgili, 3-D Plots tklanrsa boyutlu grafiklerle ilgili demolar grebilir ve inceleyebiliriz. 2.3.4. alma Alan (Workspace): Komut satrndan ya da altrlan bir dosya ya da fonksiyon ile hafzada oluturulan deikenlerin adlarnn, tiplerinin ve zelliklerini grntlendii penceredir. Bu alana alsma alan denir. rnein; bu pencerenin grnts ekil 2.2.deki gibiyse; a deiskeninin 1x1 boyutunda bir matris yani say, d deikeninin ise 1x3 boyutunda bir matris, yani bir satr ve 3 stundan oluan bir matris olduu grlr.

ekil 2. 2.Workspace Ekran 2.3.5. Komut Tarihi (Command History): MATLAB her aldnda, alan oturum iin bir komut tarihi blm aar. Bu blmlerde oturum alndan kapanncaya kadar iletilen komut satrlarnn tm kaydedilir. Bu komutlara baka oturumlarda ya da iinde bulunulan oturumda tekrar ulalabilir. Bunun iin MATLAB komut penceresinde yukar ve aa ok tularn kullanmak yeterlidir. Komut tarihi alannda bir komut satrnn fare ile iki kere tklanmas sonucunda komut penceresinde o komut iletilir. 2.3.6. Dizi editr (Array Editr) : Kullanc workspace penceresindeki herhangi bir deikenin zerinde ift tkladnda ekilde grlen Array Editor penceresi ile karlar. Bu pencere yardmyla seilen herhangi bir deikenin ierii grlebilecei gibi yine ayn deikenin ierii bu pencere yardmyla deitirilebilir. Ancak, baz farkl tipteki deikenlerin ieriini deitirmek mmkn deildir. Bu durum komut kullanlarak gerekletirilebilir.

ekil 2. 3.Dizi editr (array editor) ekran 2.3.7. Demolar (Demos) penceresi: Help mensnden Demos veya Matlab ana penceresi sol alt kede yer alan Start butonu kullanlarak Demos komutunun verilmesi ile Karmza ekilde grlen demos penceresi gelir. Kullanc bu pencere yardmyla Matlabin kendi iinde yer alan hazr uygulamalar grebilir, kodlara bakabilir veya konu ile ilgili bilgiler edinebilir.

10

ekil 2. 4.Demo penceresi 2.3.8. Yardm (Help): MATLAB hem yeni balayanlara hem de uzmanlam olanlara ok pratik bir yardm da salamaktadr. zel bir komut hakknda bilgi edinmek iin ekrandan "help komut ad" komutu girilir; burada "komut ad" ilgilendiiniz MATLAB fonksiyonunu temsil eden komutlardr. Kullanc, belirli bir konuda hangi komutlar kullanabileceini bilmek isterse "lookfor kavram ad" komutunu girmesi yeter. rnein, "lookfor cosinus" yazlp enter tuuna basldnda; MATLAB her biri iin ksa aklamalaryla birlikte sinuse ilikin tm komutlar sralar. ayet aranan bilgi bir fonksiyon ise "help cos" komutunun girilmesi aadaki pencerede gsterildii gibi ilgili komuta ait ayrntl bir yardmla neticelenir.

11

ekil 2. 5.Yardm (Help) penceresi 2.4. MATLABDA BULUNAN ARA KUTULARI MATLABn kullanlrl ve ok ynll, uygulamalara zg eitli ara kutular eklemekle gelitirilebilir. Ara kutular, eitli bilimsel alan ve konularda yazlan MATLAB fonksiyon dosyalarndan oluurlar. Aada ksaca aklanan, deiik bilim dallar ile ilgili olarak yazlm hazr ara kutular yer almaktadr. [8] 2.4.1. Signal Processing Toolbox (Sinyal leme Ara kutusu): 1- boyutlu ve 2 boyutlu saysal sinyal ileme (zaman serilerinin analizi) ile ilgili fonksiyonlardan olumaktadr. Ayrca, saysal filtreler iin gelitirilen analiz ve tasarm fonksiyonlar ile g spektrumu analizine ilikin fonksiyonlar da iermektedir. 2.4.2. Control Systems Toolbox (Kontrol Sistemleri Ara kutusu): Durum uzay tekniklerini kullanarak kontrol mhendislii ve sistemler teorisi ile ilgili fonksiyonlardan olumaktadr. 2.4.3. System Idendification Toolbox (Sistem Tanmlama Ara kutusu): Parametrik modelleme ve sistem tanmlama ile ilgili fonksiyonlardan olumaktadr. 2.4.4. Neural Network Toolbox (Yapay Sinir Alar Ara kutusu): Yapay sinir alar iin tasarm ve benzetim (simlasyon) fonksiyonlarndan olumaktadr.

12

Bu fonksiyonlar birka ayrlrlar. Bunlar; 1) a benzetimi iin transfer fonksiyonlarnn belirtilmesi, 2) a parametrelerini gncelletirmek iin kurallarn belirtilmesi, 3) veriler zerinde an ilem yapabilmesi iin fonksiyonlarn belirtilmesi. Baz fonksiyonlar, lineer ve Hapfield alarnn dorudan tasarm iin kullanlabilirler. 2.4.5. Spline Toolbox (Oluum Ara kutusu): Oluumlar ile ilgili Mdosyalarndan olumaktadr. Oluum ara kutusu fonksiyonel modellemede kullanlmaktadr. Erilerin modellenmesi, verilere gre eri uydurulmas, fonksiyonel denklemlerin zlmesi vb. iin olduka kullanldr. 2.4.6. Robust-Control Toolbox (Robot Kontrol Ara kutusu): Robot kontrol sistemleri tasarm ile ilgili fonksiyonlardan olumaktadr. 2.4.7. -Analysis and Synthesis Toolbox (p.Analiz ve Sentez Ara kutusu): Analiz ve sentez tekniklerinin kullanlarak robot ve lineer kontrol sistemlerinin incelenmesi ve tasarlanmas iin yazlm fonksiyonlardan olumaktadr. 2.5. MATLAB TEMEL YAZIM NOTASYONU Matlab programlama dilinde her ey bir dizi (array) olarak iletilmektedir. Bir dizi, skaler, vektr, matris veya metinsel dizge (karakter dizisi) olabilmektedir. Bu gsterimler aadaki gibi yaplmaktadr. [4] 1x1 dizisi skaler (scaler) veya metin dizgesi (string) gsterir. rnek olarak; a=5, b=3,14, c=3e-4, d=3+4*j e=Bir tamsay giriniz gibi Nx1 veya 1xN dizisi bir vektr (vector) gsterir. rnek olarak; x=[0, 2, 4, 6] ifadesinde x; 1x4 boyutunda bir vektrdr. [ ] keli parantezler iindeki saylarn arasnda virgl (,) veya en az bir veya daha fazla boluk olabilir. nxm veya mxn dizisi bir matris (matrix) gsterir. [ ] keli parantezler iindeki saylarn arasnda virgl (,) veya en az bir yada daha fazla boluk olabilir. 2.6. MATLABDA KULLANILAN FADELER (EXPRESSIONS) Matlab programlama dilinde de dier programlama dillerinde (C++ , Foltran) olduu gibi bir giri (input) olarak eitli matematiksel ve metinsel ifadeler salar. Bu ifadeleri drt ana balk altnda incelemek mmkndr.

13

Saylar (Numbers) Deikenler (Variables) leler (Operators) Fonksiyonlar (Functions)

Matlab programlama dilinde ifadeler genellikle deiken=ifade veya basite sadece ifade formundadr. [4, 7] 2.6.1. Deiskenler: MATLABda, herhangi bir tip tanmlamas veya boyut ifadesine gerek yoktur. MATLAB, yeni bir deiken ismi ile karlatnda, otomatik olarak ans isminde bir deiken oluturur ve uygun bir bellek miktar ayrr. Eer deiken zaten varsa, MATLAB gerekli bir bellek ayrdnda ierii deiir. rnein, ani_akim=5 ani_akim diye isimlendirilen 1x1 matrisi olutur ve 5i ykle. Deiken isimleri; bir harften, saydan veya alt izgiden oluur. MATLAB, sadece deiken isminin ilk 31 karakterini kullanr. MATLAB, byk ve kk harfe duyarldr, A ve a deikenleri ayn deildir. 2.6.2. Saylar: MATLABda saylar yaygn olarak kullanlan onluk tabanda ifade edilirler. Bunun yan sra onluk tabanda stel olarak veya i veya J olarak kompleks say biimlerinde de ifade edilebilirler. rnek olarak, 3, -99, 0.0001, 9.6397238, 1.60210e-20, 6.02252e23, 1*i, -3.14159*j, 3e5*i, saylar gsterilebilir. Saylarn duyarlln belirtmek iin kullanlan eps says onluk tabanda 16 basamakl olarak gsterilmekte ve yaklak olarak 10 -308 den 10 +308 e kadar olan tm saylar kapsayabilmektedir. 2.6.3. Operatorler(saysal islemciler): Matematiksel ifadeleri oluturmak iin operatrler ve nceden tanmlanm sembolleri kullanabilirsiniz. Bir deyim aada olduu gibi deer atanarak belli bir deer iinde saklanabilir. >> x=a + b Bu ifadede a ve b nin topland ve x deikeni iinde sakland belirtilmektedir. Bu atama ilemini; a iindeki bir deerin b iindeki bir deerle 14

toplanarak bu toplamn x deikenine atanaca seklinde yorumlamak mmkndr. Eer bir atama ilemi bu ekilde yorumlanacak olursa, aada verilen bir MATLAB bildirimi de geerli olur. >> say = say + 1 Ack bir ekilde bu bildirim geerli bir cebirsel bildirim olamaz, fakat MATLAB iindeki 1in say iindeki bir deere ilave edileceini ve sonucun tekrar say iinde saklanacan belirtir. Sonuta say iindeki deerin her seferinde 1 artacann belirtilmesine denktir. Belli bir deiken tanmlamadan girilen deyimlerin icrasnda ans isimli bir deiken iinde otomatik olarak saklanr. Her defasnda ans iindeki deer bir ncekinin yerini alr. Burada ans ingilizce cevap anlamna gelen answer kelimesinin ksaltlm seklidir. Matrislerle yaplan ilemlerde blme ilemi iin iki farkl sembol kullanlmaktadr. Bunun yannda eer saylar skaler ise iki blme ileminin sonucu da ayn deeri gsterecektir. rnein 5/2 ile 2\5 ifadelerinin sonular ayn olup 2.5dir. 2.6.4. Fonksiyonlar: MATLABn ok gl ve ok kapsaml bir fonksiyon yaps vardr. MATLABda baz fonksiyonlar daha nceden yerletirilmi bazlar ise sonradan dardan yerletirilmi M-dosyalarndan oluan MATLAB ktphanelerinde tanmlanmlardr. Bunun yannda zel uygulamalar iin kullanclarn kendi fonksiyonlarn yazarak kendi ktphanelerini oluturmas mmkndr. Kullanc tanml fonksiyonlar da dier fonksiyonlar gibi kullanlabilirler. MATLABda mevcut analitik fonksiyonlar genel olarak aadaki kategorilere ayrabiliriz. Temel matematiksel fonksiyonlar zel fonksiyonlar Temel matrisler ve matris ilemleri Matrisleri arpanlarna ayrma Veri analizleri Polinomlar Diferansiyel denklem zmleri

15

2.7. MATLABDA KULLANILAN ZEL DEERLER VE SABTLER Matlab programlama dilinde, matematikte kullanlan baz zel deerler ve sabitler tanmlanmtr. Bunlar; [4, 7]

ans; bir ilemin son cevab (answer) veya bir ifadenin deeridir. pi; pi sabitidir. =3.14159265. i veya j; imajiner birimdir. i2 =1 eps (epsilon yani ); kayan nokta bal doruluu (relative precision), 2e-52 realmin; en kk kayan nokta (floating point) says 2e-1022 realmax; en byk kayan nokta (floating point) says (2- )e1024 yani 2e1024 den daha kk inf, sonsuz (infinity) yani realmaxdan daha byk bir say NaN; say deil (Not-a-Number)

2.8. FORMAT KOMUTU Matlab programlama dili; deerlerin saysal formatn format komutu ile kontrol etmektedir. Bu komut saylarn ka hane yani ka ondalkl veya dier bir deyile ka dijit gsterileceini belirler. Matlabde tm hesaplamalar, double precision da yaplmaktadr. Temel format komutlar aada aklanmtr. [4] [7] format; Varsaylan format, format short ile ayndr. Format short; 5 rakaml sabit nokta skala format Format long; 15 rakaml sabit nokta skala format Format short e; 5 rakaml kayan nokta format Format long e; 15 rakaml kayan nokta format Format short g; 5 rakaml en uygun sabit veya kayan nokta format Format long g; 15 rakaml en uygun sabit veya kayan nokta format Format bank; dolar ve sent iin sabit format (iki ondalkl gsterimler iin kullanlabilmektedir.) Format rat; en kk tam say oran yaklamyla sayy ondalkl olarak gsterir. Format compact; sonu gsteriminde ekstra satr boluklarn kaldrr.

16

Format loose; ekstra satr boluklarnn tekrar ekrana getirir.

2.9. TRGONOMETRK VE HPERBOLK FONKSYONLAR Matlabda trigonometrik fonksiyonlarda derece yerine radyan kullanlmaktadr. Ksaca 2=360 veya =180 derecedir. rnein; derece cinsinden sin(30)=0,5 tir. Oysa bu ilemin sonucu matlabda >>sin(30) ans= -0.99 eklinde verir. Genel kullanm derece cinsinden olduundan ya radyan (pi sabitini kullanarak) cinsinden belirtmemiz ya da /180 ile arpmamz gerekmektedir. Programlama blmnde rnein direkt girilen saynn derece olarak alglanp deerini veren fonksiyonda radyan cinsinden ay /180 ile arpmak daha pratik olacaktr. [4, 7] Trigonometrik ve hiperbolik fonksiyonlar aada tablo halinde verilmitir. Tablo 2. 1.Trigonometrik ve hiperbolik fonksiyonlarn notasyonlar Trigonometrik Fonksiyon Ters fonksiyon format format sin(x) asin(x) cos(x) acos(x) tan(x) atan(x) cot(x) acot(x) sec(x) asec(x) csc(x) acsc(x) Hiperbolik Fonksiyon Ters fonksiyon format format sinh(x) asinh(x) cosh(x) acosh(x) tanh(x) atanh(x) coth(x) acoth(x) sech(x) asech(x) csch(x) acsch(x)

Fonksiyon ad sins cosins tanjant kotanjant sekant kosekant

2.10. KARMAIK (KOMPLEKS) SAYI LEMLER Bilindii zere kompleks saylarn tipik genel format a+bi, a+bj veya a+ib, a+jb eklindedir. Matlab dilinde bu notasyon a+bi, a+bj veya a+i*b, a+j*b eklinde ifade edilmektedir. Bu gsterim ekli ayn zamanda Kartezyen gsterim olarak da adlandrlmaktadr. Saylarda i ya da j kullanm arasnda fark yoktur her iki durumda ayn durumu ifade eder. rnek olarak; 3-4*j ifadesini ele alrsak; >>3-4j Ans= 17

3.0000 4.0000i >>3-j4 ??? Undefined function or variable i3. >>3-j*4 Ans= 3.0000 4.0000i ifadeleri gzlemlenir. Temel kompleks say ilemleri aada aklanmtr. abs; kompleks saynn mutlak deerini verir. angle; reel ve imajinel (sanal) bileen arasndaki ay verir. conj; kompleks saynn eleniini verir. imag; kompleks imajinel ksm verir. real; kompleks reel ksm verir. isreal; reel dizi iin doru verir.

3-4j rnei iin bu ilemler uygulanrsa; Tablo 2. 2. Karmak say rnei Komut real(x) imag(x) abs(x) angle(x) conj(x) Sonu 3 4 5 0,9273 rad. 3+j*4

eklinde gzlemlenir. abs (absolute) komutu sadece karmak say ilemlerinde deil dier tm mutlak alma ilemlerinde kullanlabilmektedir. Fonksiyon ad abs olup genel format bir x deeri iin abs(x) eklindedir. rnek olarak; >>abs(sqrt(3)-1) Ans=

18

0.7321 olarak gzlemlenir. [4, 7] 2.11. LOGARTMK VE STEL FONKSYONLAR Matlab da matematik den bildiimiz doal logaritma gsterimi ln olarak deil dorudan log olarak gsterilmektedir. Yine bildiimiz gibi lnx=logex demektir. Genel yazm format bir x deeri iin lnx, matlabda log(x) eklindedir. Matlab da e sabit says e=2.71828 veya ksaca e=2.71 olarak tanmlanmtr. Bunun yerine exp(1) fonksiyonu kullanlabilir. Biliyoruz ki; lne=1dir ve bu matlabda aadaki gibidir. >>exp(1) Ans= 2.7183 gibi gzlemlenir. Matlabda normal logaritma on (10) tabanndadr ve bir x deeri iin genel yazm format log10(x) eklindedir. Ayrca matlab, 2 tabannda logaritma iinde hazr bir fonksiyon salamaktadr. Bu fonksiyonda bir x deeri iin genel yazm format log2(x) eklindedir. Doal logaritmada da olduu gibi negatif saylarn logaritmalar reel say deildir ve sfr iin deeri sonsuzdur. 0 ile 1 arasndaki (0 ve 1 dahil olmamak zere) deerleri negatiftir. [4, 7] Log1 iin; >>log10(1) Ans= 0 Log10 iin; >>log10(10)

19

Ans= Log7 iin; >>log10(7) Ans= 1.9459 eklinde gzlemlenir. Bu konu altnda ok kullanlan dier bir komut ise karekk alma sqrt fonksiyonudur. Genel yazm format bir x deeri iin sqrt(x) eklindedir. rnek olarak; >>sqrt(2),sqrt(23) Ans= 1.4142 Ans= 4.7958 eklinde gzlemlenir. e ifadesi ayrca bilimsel notasyonlar da on (10) saysnn stelini belirtmek iin de kullanlr. rnein; 380e+003=380*103 demektir. Temel stel ve logaritmik fonksiyonlar aadaki gibidir. Log10(x); 10 tabannda logaritma (log10x) ilemini verir. Log2(x); 2 tabannda logaritma (log2x) ilemini verir. Log(x); doal logaritma ilemini verir. Exp(x); stel (ex) ilemini verir. Sqrt(x); karekk ilemini verir. X^n; s alma (xn, n herhangi bir say)

20

2.12. YUVARLAMA LEMLER Matlab programlama dilinde istatiksel ve matematiksel baz uygulamalarda yuvarlatma ilemleri de kullanlmaktadr. Bu ilemleri yapan fonksiyonlar aada verilmitir. Fix; sfra doru yuvarlatma ilemi yapar. Floor; - sonsuza doru en yakn tamsayya yuvarlama yapar. Ceil; + sonsuza doru en yakn tamsayya yuvarlama yapar. Round; en yakn tamsayya yuvarlama yapar.

Yuvarlama komutlar ile rnek olarak; >>fix(-13.2) ans= -13 >>flor(-13.2) ans= -14 gibi gzlemlenir. [4, 7] 2.13. KALAN BULMA LEMLER Matlabda blme ilemi sonucu kalan bulma ilemi iki ekilde yaplmaktadr. Bunlardan birincisi; mod yani modl (blme ileminde iaretli kalan) dieri ise rem blme ileminde kalan ilemidir. rnek olarak; >>rem(15,2) ans= 1 >>mod(15,2) ans=

21

1 eklinde gzlemlenir. [4, 7] 2.14. TEMEL STATSLK LEMLER Matlab dilinde istatiksel ilemlerin gerekletirilmesi iin komutlar atanmtr. Bu komutlar aadaki gibi verilmitir. Max; verilerin en byk deerini bulur. Min; verilerin en kk deerini bulur. Length; verilerin saysn bulur. Sum; verilerin toplamn hesaplar. Prod; verilerin arpmn hesaplar. Median; verilerin ortanca deerini hesaplar. Std; verilerin standart sapmasn hesaplar. Mean; verilerin ortalama deerini (aritmetik ortalama) hesaplar. Geomean; verilerin geometrik ortalamasn hesaplar. Harmmean; verilerin harmonik ortalamasn hesaplar. Sort; verileri azalan srada hesaplar.

Temel istatiksel ilemler komutlar iin rnek verilecek olursak; >>d=[0.5 1 0.34 2.5 1.14 3.0 3.4 5 6.5 4.31 5.5] %%%veri tanmlanr. >>max(d) Ans= 6.5000 >>min(d) Ans= 0.3400 >>length(d) Ans=

22

12 >>sum(d) 35.6900 eklinde gzlemlenir. [4, 7] 2.15. MATLABDA BULUNAN KOMUT ARETLER Matlab programlama dilinde gerek komut penceresine komutlar girilirken gerekse m-file dosyalar oluturulurken kullanlan belli bal iaretler vardr. Bu iaretler aada sra ile aklanmtr. Bunlar; Keli parantezler [ ] , vektrleri ve matrisleri biimlendirmek iin kullanlr. rnein [6.9,9.64, sqrt(-1) ] elemanlar virgllerle (veya boluklarla) ayrlm elemanl bir vektrdr. Buna karlk [11 12 13;21 22 23], iki satr ve stundan ibaret 2x3 lk bir matrisi gsterir. Burada noktal virgl ;matris oluturulmasnda bir satr sona erdirip bunu izleyen satrn olumasn salar. Bylece mxn boyutundaki bir matrisi kolayca oluturmak mmkndr. Vektr ve matrisler [ ] keli parantez iinde gsterilir. rnein bir A matrisinin satr says B matrisinin satr saysna eit ve Bnin satr says ve Ann stun says art Bnin stun says Cnin stun saysna eit ise [A B; C] biiminde yeni bir matris oluturmakta mmkndr. A=[ ] Biiminde bir bildirim bo bir matrisi A deikenine atar. Normal parantez ( ); MATLAB iinde eitli amalarla eitli yerlerde kullanlr. Olaan yoldan; aritmetik deyimlerin stnln belirtmek ve fonksiyon argmanlarn (arguments) kapatmak iin kullanlr. Daha genel anlamda da vektr ve matrislerin indislerini kapatmak iin kullanlr. Eer X ve V bir vektr ise X(V) de bir vektrdr ve [ X( V(1) ), X( V(2) ) , . . . . . , X( V(N) ) ]

23

eklinde gsterilir. Vnin elemanlar en yakn tamsayya yuvarlatlarak indisler olarak kullanlr. Eer bu tr bir indisin deeri 1 den kk veya Xin boyutundan kk olacak olursa hata ortaya kar. Baz rnekler verecek olursak; X(3) X vektrnn 3nc elamann gsterir. X( [1 2 3] ) ve benzer ekilde X( [sqrt(2), sqrt(3), 4*atan(1)] ) X vektrnn ilk elemann gstermek iin kullanlr. Eer Xin N adet eleman varsa X( N:-1:1 ) komutu yukardaki ilemi ters evirir. Benzer ekilde dolayl indisleme matrislerde de kullanlr. rnein Vnin M eleman ve Wnun N eleman mevcut olsun. Bu durumda A(V,M) Ann elemanlarndan olumu MxN boyutlu bir matrisdir. Burada !nn indisleri V ve W nun elemanlardr. rnek olarak; A( [1,5],: ) =A( [5,1] ),: ) fadesi A matrisinin 1 ve 5nci satrlar arasnda yer deitirme salar. Kesir ayrma iareti; 314/100, 3.14 ve .314e1 ayn anlama gelir. Nokta iareti ayn zamanda eleman elemana arpma ve blme ileminde de kullanlr. Kullanl biimleri; .*, .^, ./, .\ veya .. eklindedir. rnein, C=A./B elemanlar c(i,j)=a(i,j)/b(i,j) olan bir matristir. nokta ; Bir tek satra smayan ifadelerin bir alttaki satrda devam ettiini gsterir. Virgl , ; Matris indislerini ve fonksiyon argmanlarn ayrmak iin

kullanlr. Virgl iareti ayn zamanda bir satra birden fazla bildirim yazlmas halinde bildirim komutlarn ayrmak iin de kullanlr. Noktal virgl; Noktal virgl bir bildirimde elde edilen sonularn program icras sonunda ekranda grntlenmesini nlemek iin

24

kullanlr. Ayrca keli parantezler iinde matrislere ait satrlar sona erdirmek iin de kullanlr. Yzde iareti % ; Yzde iareti aklama satrlar iin kullanlr. Banda % iareti bulunan satrlar icra edilmez. Bir izgi zerinde bulunan % iareti, izginin mantksal bir sonu olduunu gsterir. nlem iareti ! ; ! iaretini izleyen herhangi bir yaz DOS komutu ilemi grr. Bylece MATLAB iinde DOS komutlarn altrma imkan salanr. ki nokta st ste : ; Stun iareti; indislerde, FOR iterasyonlarnda ve muhtemelen her yerde kullanlabilinir. Belli bal kullanm biimleri aada olduu gibidir. J:K, J den balayarak 1 er 1 er K ya kadar artan bir dizi oluturur. Ve [ J, J+1 ... , K] ayn anlama gelir. J:K da J>K ise bo bir vektr sonulandrr. J:I:K J ile balayan I aralnda artarak K ya kadar giden bir dizi oluturur ve

[ J, J+1, J+2I, . . ., K] ifadesi ile ayn anlama gelir. J:I:K ifadesinde I>0 ve J>K veya I<0 ve J<K olacak olursa bo bir matris sonulanr. Stun iareti ayn zamanda vektrlerin ve matrislerin seilen satrlarn, stunlarn ve elemanlarn ayrmak iin de kullanlr. Bu durum aadaki rneklerle de gsterilmitir. A(:) Tek bir stun olarak A nn tm elemanlardr. Atanan bir bildirimin sol tarafnda A(:) nceki biimini koruyarak A y doldurur. A( : , J ) Ann Jinci stunu ile ayndr.

25

A( : , J+1) Ann Jden itibaren birer birer artarak K ya kadar giden elemanlarn gsterir ve A(J), A(J+1), ..., A(K) ile ayndr. A( :, J : K) Benzer ekilde A( : , J), ayndr. Trnak iareti ; Trnak iareti matrislerin transpozesini almay salar. X , X matrisinin karmak elenik transpozesini ve X. se elenik olmayan transpozesini sonulandrr. Ayrca ANY TEXT eklindeki aktarm ilemlerinde karakterler iin elemanlar ASCII kodlarnda bir vektr gstermek iin kullanlr. [5, 8] 2.16. DZLER Matlabn en temel ilem eleman ve veri tipi dizilerdir. (arrays). Dizi, en genel matematiksel tanm ile nmerik ve metinsel deerler topluluudur. Matlabda her ey bir dizi olarak ele alndn daha nceden bahsetmitik. Matlab da tip dizi ifadesi bulunmaktadr. [5, 8] Bunlar; Reel ile kompleks saylar ifade eden ift kat veya nmerik diziler (double or numeric array). Nesneleri ve metinsel dizgileri ifade eden hcre diziler (cell array) Genelletirme ve eitli tipleri ifade eden n-boyutlu dizilerdir (n-dimensional array). 2.17. VEKTR LEMLER Vektrler; mx1 yada 1xn boyutlu dizilerdir. Mx1 boyutlu diziye stun vektr denilir ve eleman says m tanedir. 1xn boyutlu diziye ise satr vektr denir. Matlab da vektrleri oluturmann yolu vardr. [5] [8] Bunlar ; A( :, J+1), ... ,A( :, K ) ile

Daha nceden bahsedildii gibi keli parantez kullanma (direkt


olarak); Vektr elemanlar birbirlerini, sabit miktarda artan yada azalan bir deerle takip ederler. ki nokta st ste (:) ileci (colon operator) bu tr ilem iin en temel yntemdir. Genel olarak format; f=ilk deer : deiim miktar : son deer

26

gibidir. Deiim miktar belirtilmezse dizi ilk deerden son deere birer olarak artarak oluturulur. Operatorden nce yada sonra grnt netlii iin boluk verilebilir.

Eit aralkl elemanlar kullanarak (:) iareti yada linspce, logspace


komutlaryla); bu durumda balang ve biti noktalarnda ka nokta olacan kullanc belirler. Linspace komutu genel format; linscape(x1, x2, n) eklindedir. x1, araln ilk deeri , x2, ise araln son deeridir. N ise araln ilk ve son deeri arasndaki nokta saysdr. Eer n belirtilmezse iki nokta aras lineer olarak 100 eit paraya ayrlr ve lineer aralkl bir vektr oluturulmu olur. Bu komut zellikle eri izimlerinde ve eri uydurma uygulamalarnda kullanlr. Logspace ise linspace ile ayn notasyona sahip ancak lineer olmayan (logaritmik) vektrlerin oluturulmasnda kullanlan komuttur. Bu komutta n belirtilmezse 10x1 ve 10 x2 aras logaritmik olarak 50 satr vektr retilir.

Utility fonksiyonlar kullanarak (rand, randn, ones, zeros); zel


komutlar kullanarak bir takm zel diziler oluturmak mmkndr. Byle durumlar da kullanlan fonksiyonlar utility fonksiyonlardr. rand fonksiyonu; niform olarak dalm rastgele sayl vektrler oluturmak iin kullanlr. Genel yazm format; f=rand(m,n) eklindedir. Burada m ya da n deerlerinden birisinin 1 olmas gerekmektedir. Sadece rand komutu ile 0 ile 1 arasnda rastgele saylar retmek mmkndr. Ones fonksiyonu; elemanlar sadece 1(bir)lerden oluan , zeros ise ; elamanlar sadece sfrlardan oluan vektrler retmek mmkndr. Genel yazm format; f=ones(m,n) , f=zeros(m,n) eklindedir. ones komutu ile k herhangi bir say olmak zere bir k*ones fonksiyonu oluturulduu takdirde btn elemanlar k deerinden oluan vektr retmek mmkndr. [5 2.18. MATRS LEMLER Matlabda matris oluturmak iin vektrlerde olduu gibi temel yol vardr. Bunlar;

27

Keli parantez kullanma (direkt olarak); matris elemanlar kullanc


tarafndan keli parantez ierisinde satr elemanlar arasnda boluk stnlar arasnda ise noktal virgl ile olarak girilebilir. rnein; >>a=[1 2 3 ; 4 5 6 ; 7 8 9] eklinde girilir. Bu durumda a matrisi 3x3 boyutunda matristir.

Utility fonksiyonlar kullanarak (rand, randn, ones, zeros, eye); zel


komutlar kullanarak bir takm zel matrisler oluturmak mmkndr. Byle durumlar da kullanlan fonksiyonlar utility fonksiyonlardr. rand fonksiyonu; niform olarak dalm rastgele sayl matrisler oluturmak iin kullanlr. Genel yazm format; f=rand(m,n) eklindedir. Burada m ya da n deerlerinden birisinin 1 olmas gerekmektedir. Sadece rand komutu ile 0 ile 1 arasnda rastgele saylar retmek mmkndr. ones fonksiyonu; elemanlar sadece 1(bir)lerden oluan , zeros ise ; elamanlar sadece sfrlardan oluan matrisler retmek mmkndr. Genel yazm format; f=ones(m,n) , f=zeros(m,n) eklindedir. Burada m ve n deerleri matrise ait satr ve stun saylarn vermektedir. ones komutu ile k herhangi bir say olmak zere bir k*ones fonksiyonu oluturulduu takdirde btn elemanlar k deerinden oluan vektr retmek mmkndr. eye fonksiyonu ile birim matrisler oluturulabilir. Bilindii gibi birim matris birinci diyagoneli bir (1) olan dier tm elemanlar sfr (0) olan matristir. Genelde I ile ifade edilir. Genel yazm format ; F=eye(m,n) yada f=eye([m,n] eklindedir. Burada m ve n deerleri daha nceden de belirtildii gibi matrise ait satr ve stun saylarn temsil etmektedir. eye(t) ise boyutu txt olan kare matris retir. Birim matris genelde kare matris olarak kullanlr. zel matrisler oluturma(pascal, magic, hilbert); matlabda tanmlanm baz zel matrisler vardr. Bunlardan pascal; pascal geninin elemanlarndan oluan matrisler retmek iin kullanlr. Magic; kxk boyutunda 1den kya kadar saylardan oluan (k=2

28

hari) eit satr, stun ve diagonal toplamna sahip bir kare matris oluturmak iin kullanlr. Hilbert ise; kxk boyutunda her bir eleman 1/(i+j-1) ile belirlenen hilbert matrisi olarak adlandrlan kare matris oluturmak iin kullanlr. Burada matrisin genel eleman hilb(ij) olup i satr j ise stun numarasn belirtmektedir. [5, 8] 2.19. TEMEL VEKTR VE MATRS LEMLER Matlabda vektr ve matris ilemlerini gerekletirmek iin komut iaretleri vardr. Bunlar;

Toplama (+), X+Y iki matrisin toplamn alr. Bu toplamn


gereklenebilmesi iin matrislerin ayn boyutlarda olmas gerekir. Yalnzca matrislerden birisi skaler olduunda toplam gereklenebilir. Bir skaler herhangi bir eye eklenir.

karma (-); X-Y X matrisinden Y matrisini karr. Burada da


toplama ilemindeki benzer koullarn gereklenmesi gerekir.

Matrisyel arpm ilemcisi; X*Y

X ve Y matrislerinin matris

arpmn gsterir. Herhangi bir skaler (1x1 elemanl matris) her ey ile arplabilinir. Aksi takdirde X matrisinin stun says Y matrisinin satr saysna eit olmaldr.

Eleman elemana arpm ilemcisi; X.*Y eleman elemana arpma


ilemini gsterir. Birisi skaler olmadka, X ve Y matrislerinin eleman saylar eit olmaldr. Yalnz bir skaler her ey ile arplabilinir.

Matrisyel soldan blme ilemcisi (\); A\B B matrisinin A matrisine


blmn gsterir ki bu da hemen hemen inv(A)*B ilemi ile ayndr. Yalnz hesaplama biimleri farkldr. Eer A NxN elemanl bir matris ve B de N elemanl Stun vektr ise X=A\B ifadesi Gaussian eliminasyonu yoluyla hesaplanan A*X=B denklemi iin bir zmdr. Eer A matrisi kt bir ekilde leklendirilmi veya hemen hemen tekil ise bir uyar mesaj alnr. A\eye(A) ifadesi Ann tersini sonulandrr. Eer A mxn olacak ekilde m x n elemanl bir matris ve B de m elemanl stun vektr ise X=A\B en kk kareler cinsinden 29

altnda ve stnde saptanan sistem denklemlerinin, A*X=B bir zmdr.

Skalar veya eleman elemana soldan blme ilemcisi (.\); A.\B


deyimi; elemanlar B( i, J)\A(i, J) olan bir matrisdir. Yalnz burada A ve B nin ayn boyutta olmas gerekir.

Matrisyel sa blme ilemcisi (/) ; B/A B matrisinin A matrisine


blmn gsterir ki bu da hemen hemen B*inv(A) ile ayndr. Yalnz hesaplama yntemleri bakmndan farkllk gsterir. Dier bir biimi ile B/A=(A\B) dr

Eleman elemana blme ilemcisi (./); B./A eleman elemana blme


ilemini gsterir. Bu durumda A ve B matrisinin ayn boyutta olmas gerekir. Yalnz birini skalar olmas halinde buna gerek yoktur. nk bir skalar her ey ile blnebilir. 3./A ile 3 ./A ayn ilem olmadna dikkat etmek gerekir. nk birinci ifadede nokta 3 rakamnn kesir iaretini gsterdiinden matris blme ilemini yaptrr ve ikinci ifade de ise nokta eleman elemana blme ilemini iaret eder. [5, 8] 2.20. VEKTR VE MATRS BLG ALMA KOMUTLARI Matlab programnda baz durumlarda oluturulmu olan vektr ve matrislerden programn iletilmesi iin bilgiler almak gerekebilir. Matlabda yerleik baz matrisler ilgili fonksiyonlar ile bilgi alabiliriz. Bunlar; Size(f); bu komut bir vektrn 1xn veya nx1 olarak ka n boyutunda olduunu verir. Bu komutun ilk deeri satr, son deeri ise stun bilgisini verir. Length(f); bu komut vektrn uzunluunu dier bir deyile vektrn ka elemandan olutuunu gsterir. Bu komut yerine max(size(x)) komutu da kullanlabilir. F(n); komutu bir vektrn n. elemann gsterir. rnein; f(5), f vektrnn 5. elemann verir. F(1:5); komutu bir vektrn ilk be elemann gsterir.

30

F(length(f)); bir vektrn son elemann verir. Deikenlerin ve matrislerin durumu (who, whos, what, size); Kullanc tarafndan program iinde tanmlanan deikenlerin ve matrislerin durumunu gzden geirmek iin who, whos, what, size gibi kullanl komutlar bulunmaktadr. Who komutu kullanc tarafndan tanmlanan deikenlerin listesini grntler. whos komutu bu deikenleri boyutlar ile birlikte ve bu deikenlerin sfr olmayan sanal ksmlar olup olmadn da grntler. what komutu kullanc diskinin halihazr dizininde mevcut M-dosyalar listesini verir.

Matrisin transpozesi (); matlabda tanmlanm bir matrisin transpozesi rnein A matrisi iin, A ile bulunur. Transpoze operatr ile matrisin satr ve stunlar yer deitirilir. >>A=[1 4 7; -2 5 -8; 3 6 1]; >>transpozeA=A transpozeA= 1 4 7 -2 5 3 6

-8 1

Matrisin determinant (det(A)); bir matrisin determinat det(A) fonksiyonu ile bulunur. Burada tanml matris kare matris olmaldr. >>detA=det(A) detA= -224

Matrisin tersi (inv(A)); bir matrisin tersi inv(A) fonksiyonu ile bulunur. Matris, tekil (singular) ve kare (square) matris olmaldr. Kare matris olmayan matrislerin tersini almak iin pinv komutu kullanlr. >>tersA=inv(A) tersA=

31

-0.2366 0.0982 0.1205

-0.1696 0.0893 -0.0268

0.2991 0.0268 -0.0580

Matrisin rank (rank(A)); bir matrisin rank rank(A) fonksiyonu ile bulunur. >>rankA=rank(A) rankA= 3

Matrisin diagonel elemanlar (diag(A)); bir matrisin ana diagonal elemanlar diag(A) fonksiyonlar ile bulunur. >>ana-diag=diag(A) ana_diag= 1 5 1

Matrisin z deerleri ve z vektrleri (eig(A)); matrisin z deerleri ve z vektrleri eig(A) fonksiyonu ile bulunur. Hem z deerleri hem de z vektrleri bulmak iin ise [v,d]=eig(A) fonksiyonu kullanlr.

2.21. MATLABDA PROGRAMLARIN HAZIRLANMASI Matlabta algoritmalar bilinen programlar hazrlamak ve altrmak ok kolaydr. Ayrca FORTRAN, BASIC, C ve PASCAL gibi programlama dillerinde hazrlanm programlar MATLAB iin uyarlamak da mmkndr. Bu durumda ounlukla ayn program iin daha az sayda satr kullanmak yeterlidir. Matlabta oluturulan M-dosya paketlerini kullanmak suretiyle programlamay ok ksa tutmak mmkndr. [5] 2.22. M- DOSYALARI Matlabn kendisi byk oranda herhangi bir program iinde arlp kullanlabilen altprogramlardan ibaret hazr M-dosyalarndan olumutur. Matlabta 32

M-dosyalar okunabilir ve yazlabilir TEXT dosyalardr. Bu nedenle Matlaba ait Mdosyalarnn yanllkla deitirilmemesi gerekir. Aksi takdirde orijinal grevini yerine getiremez. Bu nedenle de bir programc kendi hazrlad M-dosyalarn kendine ait bir alt dizinde saklanmas tavsiye olunur. Matlabta altrlmak zere programlarn yazlp sakland M-dosyalar iki biimde hazrlanabilir. Birincisi, uzun komutlar dizisi biiminde yazlan dz yaz (script) M-dosyalardr. kincisi ise Matlabn kendi M-dosyalarna benzer biimde hazrlanan fonksiyon dosyalar herhangi bir ana program iinde bir altprogram gibi kullanlabilirler. 2.22.1. Dz yaz dosyalar: Bir dizi komutlardan ibaret dz yaz dosyalar, Matlab iinde arldnda dosya iinde bulunan komutlar otomatik olarak altrlr. Bylece her seferinde klavyeden komutlar tekrar girmeye gerek kalmaz. Bir dz yaz dosyas iinde yer alan bildirimler Matlab alma ortamnda yer alan verileri iletir ve sonulandrr. Dz yaz dosyalar, Matlab ortamnda etkileimli biimde allmayacak uzun komutlar dizisi gerektiren analizlerin icras, problemlerin zm veya tasarm yaplmasnda kullanl olmaktadr. Dz yaz dosyalarnn yazm iin Matlabn dahili editr kullanlabilir. Bu editr altrmak iin Matlab komut satrnda edit komutunu yazmak gerekir rnein; aada verilen Matlab komutlar dizisi bmak.m ad verilen bir dosyada oluturulup saklanabilir.

33

ekil 2. 6.Editr penceresi MATLAB ortamnda bmak yazmak (.m uzants yazlmaz) sureti ile program altrlabilir. Yalnz bunu iin program iinde yer alan; B, Ct, Dm, J, Vt parametre deerlerinin altrlmadan nce atanm olmas gerekir. Bu, ya bmak komutu yazlmadan nce klavyeden yukarda belirtilen parametre deerlerini girmek sureti ile ya da, daha nce sz edildii gibi saklanm bir dosyadan verileri armak sureti ile yaplabilir. Bu ekilde bmak altrld zaman MATLAB dosya iinde yazl komutlar icra eder ve sonular saklar ve en sonunda plot komutu ile sonular a ve b deikenlerine atanr. Daha sonraki 3. ve 4. satrlarda num ve den deikenleri yukarda hesaplanan deerler atanr. 5. satrda ise 0 dan t f deerine kadar dt artmnda bir dizi oluturur ve t deikenine atanr. 6. satrda Matlaba ait bir altprogram (M-file) olan step komutu ile pay num, paydas den, deikeni ile verilen bir sistem t zaman dizisinde basamak cevab sonular hesaplanr ve bir saylar dizisi eklinde y deikenine atanr. Son satrda plot komutu ile sonularn grafii elde edilmi olur. Ayrca, program iersinde son satrda wn, xa ve xsi gibi deerler de hesaplanabilir. Matlab iinde desteklenen demos daha karmak ilemlerin yerine getirilmesinde kullanlacak pek ok rnek iermektedir. 2.22.2. Fonksiyon dosyalar:

34

Fonksiyon dosyalar ilk satrda function kelimesi bulunan .m uzantl dosyalardr. Matlab iinde bulunan tm M-dosyalar fonksiyon biiminde olup bunlar hazrlanan herhangi bir program iin altprogram grevi grrler. Dier bir deyile Pascal ve benzeri programlama dillerinde kullanlan altprogramlar (subroutines) gibi ilem grrler.

ekil 2. 7.Bir fonksiyon dosyas

Fonksiyon dosyalarnda yer alan tm deikenler, dz yaz dosyalarnda olduu gibi Matlab alma ortamnda grntlenemez ve gerektiinde baka bir bildirimde kullanlamazlar. Fonksiyon dosyas; function satrnda yer alan giri verisine gre k argman veya argmanlarn sonulandrr. Bu argmanlar (function tarafndan bulunan sonular) istenirse dier hesaplamalarda kullanlabilir. Fonksiyon dosyalar Matlabn kendi dilini kullanmak sureti ile yeni Matlab fonksiyonlarn oluturarak Matlabta mevcut dosyalar geniletmesi asndan ok kullanldr. Fonksiyon dosyasnn oluturulmasn ve altrlmasn aada verilerin basit bir rnekle aklayabiliriz. Burada Matlabta mevcut bir vektrn ortalamasn hesaplayan ortalama.m dosyasna ait bildirimler listesi verilmitir. Bu ekilde yazlp yine ortalama.m olarak saklanan (dosya ad ile fonksiyon ad ayn olmal) yeni fonksiyon dosyasnn kullanm herhangi Matlab dosyasnn

35

kullanmndan farkl deildir. rnein z, 1den 99a kadar tamsaylar gsteren bir vektr olsun, Z=1:99; komutu ile z vektr veya satr matrisi oluturulmu olur. Bu vektr iinde yer alan saylarn ortalama deeri ise aada gsterildii gibi ortalama ifadesini kullanmak sureti ile yaplr. ortalama(z) veya a=ortalama(z) birimci durumda z matrisinde yer alan saylarn ortalama deerleri ortalama.m fonksiyon dosyas yolu ile hesaplanp ekranda ans=50 eklinde grntlenecektir. kinci durumda ise z ortalama deeri hesaplanp grntlendikten sonra ayn zamanda a deikenine atanarak saklanacaktr. ortalama.m fonksiyon dosyasnn baz temel zelliklerini aadaki ekilde sralayabiliriz. Birinci satr fonksiyon ismini, giri argmanlarn ve k

argmanlarn beyan eder. Bu satr bulunmad zaman, dosya dz yaz dosyas gibi ilem grr. % iareti ise ilgili satrlarn aklama satr olduunu grr. Bu satrlarda yazlanlar Matlab tarafndan icra edilmez. Matlab ortamnda help ortalama yazlnca % iaretlerinin bulunduu satrlardaki aklamalar ekranda grntlenir. Fonksiyon dosyas iinde yer alan m, n ve y gibi deikenler ortalama dosyasnn almas srasnda kendi iinde geerli olup daha sonra alma ortamnda grntlenmez ve kullanlamazlar. Dier taraftan bu deikenler ortalama dosyas altrlmadan nce alma ortamnda mevcut iseler deerleri deimeden kalrlar. Hesaplatlmas gereken deikenlerin fonksiyon dosyas iinde yer alan deikenler cinsinden atanmas art deildir. rneimizde 1 den 99 a 36

kadar olan tam saylar, fonksiyon dosyas iinde yer alan x cinsinden deil de z cinsinden atanmtr. Veriler x cinsinden de veya z dndaki bir karakter olarak da atanabilirdi. 1 den 99 a kadar saylar ieren z vektr, ortalama iine geirilerek veya kopya edilerek onun x ad ile bilinen yerel deiken haline gelir. Benzer ekilde k argmannda fonksiyon dosyasnda tanmlanan karakterle ayn olmas gerekmez rneimizde hesaplanan sonu a eklinde bir deikene atanmtr ki bu ortalama fonksiyon dosyasnda y ile belirtilen deikene atanmaktadr. 2.23. FONKSYON FONKSYONLARI Matlabta normal fonksiyon dosyalar yannda kullanc tarafndan hazrlanan fonksiyonlar zmek amac ile kullanlan fonksiyonlar da mevcuttur. Bunlar fonksiyonlar aran ve zen fonksiyonlar olduundan fonksiyon fonksiyonu adn alr. Dier taraftan dorusal olmayan saysal hesaplama yntemleri olarak da bilinirler. [4, 7] Matlab iinde yer alan fonksiyon fonksiyonlar ve kullanm amalar aada verilmitir. Ayrca OPTIM toolbox iinde zel fonksiyon fonksiyonlar da mevcuttur. Bunlar; fmin; Tek deikenli bir fonksiyonu sadeletirir. fmins; Birka deikenli bir fonksiyonu sadeletirir. fplot; Fonksiyonun grafiini izer. fzero; Tek deikenli bir fonksiyonu sfr yapan deeri bulur. ode23; Diferansiyel denklemleri zer (dk derece yntemi) ode45; Diferansiyel denklemleri zer (yksek derece yntemi) quad; Saysal integral zm yntemi (dk derece yntemi) quad8; Saysal integral zm yntemi (yksek derece yntemi) feval; bir fonksiyonun verilen bir deerini bulur. Dizge ile tanmlanm fonksiyonu iletir.

37

Ezplot; matematiksel ifadelerin kolaylatrlm izimini yapar. 2.24. M-DOSYALARININ HATA GSTERM Matlabda program iletilmesi srasnda oluacak durum yada hatalarn gsterimi iin baz fonksiyonlar vardr. Bunlar; disp; bu fonksiyon, program ileyiinde yada veri girii hata uygulamalarnda genel olarak metinsel dizgi olarak grev yazm disp(metinsel dizge) eklindedir. input; kullanc tarafndan veri girii istenildiinde kullanlr. Genel yazm kullanc_giris=input(prompt) yada kullanc_giris=input(prompt,s) eklindedir. Burada kullanlan s taks giri olarak bir karakter dizge girii yani genelde metinsel bir ifade gerektiinde kullanlr. prompt, geerli alma ortamnda deikenler kullanarak ileme konacak olan herhangi bir ifade olabilir. Kullancnn klavyeden yapaca bir giri iin bekler ve girilen deeri kullanc_giris deikenine atar. rnein; >>x=input(kaynak gerilimini giriniz); kaynak gerilimini giriniz error; display fonksiyonundan tek fark error satr iermesidir. Genel yazm error(metinsel dizge) eklindedir. rnein; Error(Faz as 0 ile 6.28 radyan arasnda olmaldr) warning; matlabda ok eitli uygulama alanlar bulan bu komut warning satr iermektedir. Genel yazm warning(metinsel dizge) eklindedir. rnein; warning(Faz as 0 ile 6.28 radyan arasnda olmaldr) 2.25. KARAKTER DZGE (STRING) LEMLER Matlab programlama dilinde, karakter dizgileri veya sadece dizge (string), iki trnak arasnda ifade edilen gerekte ASCII kod tablosunda saysal kodlarla belirtilen ilk 127 karakterden oluan dizilerdir (character array). Dizgenin uzunluu, dizgedeki karakter saysdr. ASCII karakterleri 32 ile 127 arasnda olanlar yani 0:255 blgesi tamsay ve baslabilir karakterlerdir. rnein; yapar. Gsterilecek olan metinsel dizgi trnak iareti ierisinde belirtilir. Genel

38

>>yb=bara admintans matrisi >>yb yb= bara admintans matrisi Burada ki yb deikenindeki her bir harf ASCII kod tablosundaki saysal bir koda sahiptir. double komutu ile yb deikenindeki her bir harfin kod karln grntlenebilir. Buna gre b=98 , i=105 karlk dmektedir. double fonksiyonunu kullanarak karakter veri tipinde double veri tipine dntrlebilir. >> kod=double(yb) kod = Columns 1 through 14

98 115

97 114

97

32

97 100 109 105 110 116

97 110

Columns 15 through 22

32 109

97 116 114 105 115 105

Tam tersi ASCII karl verilen bir dizinin karakter karln bulmak iin ise char komutu kullanlmaktadr. >>char(kod) ans= bara admintans matrisi Birden fazla karakter dizgisini bir arada gstermek iin dizgileri vektrler gibi bir arada kullanmak mmkndr. Bu ilem iin strcat komutu kullanlmaktadr. rnein; >>k=strcat(programa hogeldiniz, program kodu:, 1250)

39

k= programa hogeldiniz program kodu: 1250 Birden fazla karakter dizisinin alt alta yazdrmak iin ise ; strvcat komutu kullanlmaktadr. rnein; >>k=strvcat(programa hogeldiniz, program kodu:, 1250) k= programa hogeldiniz program kodu: 1250 eklindedir. Kayan nokta saysn dizgeye dntrmek iin num2str komutu, tamsayy dizgeye dntrmek iin ise int2str komutlar kullanlmaktadr. Matlabda dizgeleri sayya dntrmek iin ise iki temel komut vardr. Bunlardan str2num fonksiyonu normalde ASCII karakterdeki dizgeyi sayya dntrr, eval fonksiyonu ise numerik formdan say ieren dizgeye dntrr. Her iki fonksiyonda da temelde ayn ilevi grr. [4, 7] 2.26. MATRS LELER Matlabda en temel olarak 3 eit ile vardr. Bunlar; Aritmetik ileler likisel ileler Mantksal ileler

Bunlardan aritmetik ilelerden daha nce matris ilemleri srasnda bahsetmitik. Bundan dolaydr ki dier eit ilelerden bahsedeceiz. [4, 7] 2.26.1. likisel ileler: Matlab diziler ve matrisler arasnda karlatrma yapmak iin 6 tane ilikisel ilece sahiptir. nemli olan bir nokta = ve == ileleridir. = ileci, deiken

40

atama (assignment) ve yerletirme (replacement) ilevi grr oysa == ileci, matematiksel olarak eittir anlamndadr. Bu ileler; <; kktr (less than) <=; kk eittir (less than or equal) >, byktr (greater than) >=; byk eittir (greater than or equal) ==; eittir (equal) ~=; eit deildir (not equal)

2.26.2. Mantksal ileler: Matlab da matris ve dizileri mantksal olarak karlatrmak iin kullanlan ilelerdir. Bunlar; ~ (not) ; p bir dizi ise ~p,p ile ayn boyutlu, yeni bir dizi retir. Bu yeni dizi p sfr deilse sfrlardan oluur, p sfr ise birlerden oluur. & (and); p ve q birer dizi ise p&q, p ve q ayn boyutlu, yeni bir dizi retir. Bu yeni dizi p ve q her ikisi de sfr olmayan elemanlara sahip ise birlerden oluur. p veya q sfr ise sfrlardan oluur. | (or); p ve q birer dizi ise p|q, p ve q ile ayn boyutta, yeni dizi retir. Bu yeni dizi p veya qda en az bir eleman sfr deilse birlerden oluur, p ve q sfr ise sfrlardan oluur. 2.27. MATLABDA KULLANILAN ART DEYMLER (CONDITIONAL STATEMENTS): Matlabda dier yazlm dillerinde olduu gibi bir takm art deyimleri kullanmaktadr. Bu deyimler aracl ile m-dosyalar olutururken art durumlar ve birbirlerini tekrarlayan (dng) ilemleri gerekletirilir. [4] [7] Bunlar srasyla; 2.27.1. if yapisi : if komutunun Matlabda 3 farkl ekli mevcuttur; if kosul deyim1 deyim 2 deyim_n 41

end Koul doru ise, deyim1, deyim1, ... , deyim_n, ile belirtilen deyimler grubu icra edilir ve programn kontrol endi izleyen deyime geer; koul yanl ise bu durumda deyim1, deyim2, ..., deyim_n ile belirtilen deyimler grubu icra edilmeden kontrol endi izleyen deyime geecektir.

if kosul
deyim1 deyim 2 deyim_n else deyim_n+1 deyim_n+2 deyim_m end Koul doru ise deyim1, deyim1, ... , deyim_n, ile belirtilen deyimler grubu icra edilir ve programn kontrol endi izleyen deyime geer; koul yanl ise bu durumda da sadece else i izleyen, deyim1_n+1, deyim_n+2, ... , deyim_m ile belirtilen deyimler grubu icra edilecek ve kontrol end i izleyen deyime geecektir.

if kosul1
deyim1 elseif kosul2 deyim2 elseif kosul3 deyim3 ... elseif kosul_n deyim_n else deyim_n+1 end Bu yap ierisinde kontrol edilen koullardan herhangi biri doru ise onunla ilikili deyim icra edilir ve kontrol end i izleyen deyime geer.

42

Koullarn hepsi de yanlsa, kontrol else i izleyen deyim_n+1e geer ve bu deyim de icra edildikten sonra kontrol endi izleyen deyime geecektir. rnek olarak; kullanc tarafndan bir say istenip bu saynn pozitif, negatif veya 0 mi olduunu sorgulayan ve ekrana yazdran program aada incelenebilir. x=input('bir say giriniz') if x<0 disp('girilen say negatiftir') elseif x==0 disp('girilen say sfrdr') else disp('girilen say pozitiftir') end 2.27.2. Switch case yaps: kiden fazla durumu kontrol etmek iin, if elseif else end yapsna alternatif olarak kullanlan bir kontrol yapsdr. fadenin deeri kontrol edilir ve buna gre farkl bir deyim veya deyimler grubu icra edilir. rnein, ifadenin deeri deger1 ise, deyim1 icra edilir ve kontrol endi izleyen deyime geer. fadenin deeri, deger2, deger3 ya da deger4 e eitse bu durumda deyim2 icra edilir ve kontrol endi izleyen deyime geer. fadenin deeri, caselerle kontrol edilen deerlerden hi birine eit deilse bu durumda da otherwise szcn izleyen deyim_n+1 icra edilecektir. switch(ifade) case deger1 deyim1 case deger2,deger3,deger4 deyim2 ... case deger_n deyim_n otherwise deyim_n+1

43

end Haftann kanc gnnn ne olduunu bulan basit bir program aada incelenebilir; gun=input('haftann kanc gn') switch gun case 1 gun='pazartesi' case 2 gun='sal' case 3 gun='aramba' case 4 gun='perembe' case 5 gun='cuma' case 6 gun='cumartesi' case 7 gun='pazar' end 2.27.3. For dngs: Parametre deeri balang deerinden balayarak ve her seferinde artm deeri kadar arttrlarak son deere erisene kadar deitirilir. Parametrenin her deeri iin, deyim1, deyim2, deyim_n seklinde belirtilen ve for-end szckleri arasnda yer alan deyimler grubu icra edilir. Parametrenin deeri son deeri anca, programn kontrol endi izleyen deyime yani evrimin dna kacaktr. for parametre=baslangi:artim:son_deger deyim1 deyim2 ... deyim_n end Arka arkaya blme ilemlerinin yapld ekil 2.8.deki for dngs programn incelenebilir;

44

ekil 2. 8.For dngs 2.27.4. While dngs: Belirli bir st snra kadar istenilen ilemleri tekrarlayarak yapar. Koul doru olduu srece, deyim1, deyim2, ... , deyim_n seklinde belirtilen deyimler grubunu icra eder. Koul yanl olduu anda, endi izleyen deyime yani evrim dna kar. while kosul deyim1 deyim2 ... deyim_n end A=5 ilk deerinden balayarak A<8 olduu srece Aya 1 eklemek iin aadaki program incelenebilir; A=5 while A<8 A=A+1 end eklindedir.

45

2.28. VERLERN M-DOSYLAR EKLNDE OLUMASI Matlab ortamna dardan arlabilecek tm programlar .m uzantl dosyalar (M-file) olarak bilinir. Matlabn kendi hazr program algoritmalar M-dosyalar eklinde olabilecei gibi Matlab iin yazlan programlar da M-dosyalar eklinde saklanp Matlab iinde arlabilir. Benzer ekilde veriler de M-dosyalar eklinde oluturup saklanarak daha sonra Matlab iinde kullanlabilir. rnek 1de gsterildii gibi verilerinizi (Matlab da kullanlacak veriler) iki stun ve on satrdan ibaret bir matris biiminde uygun bir editrde TEXT kodunda girilerek saklanabilir. Dosya ismini veri.m ile belirlersek daha sonra Matlab iinde veri komutu ile verileri istediimiz kadar arabiliriz. Bu veriler Matlabta dat deikeni altnda 2 stun x 10 satrlk bir matris olarak tanmlanmaktadr. Bu matristeki veriler farkl yerlerde kullanmak istersek yeni deikenler atamamz gerekir. rnein 1. stundaki verileri; X=dat(:,1); Komutu ile x ve 2. stundaki verileri de Y=dat(:2); Komutu ile y ye atayabiliriz. Benzer ekilde, A=dat(2,3); Komutu ile dat matrisinin 2. satr ve 3. stunundaki bir veriyi a ya atamak mmkndr. [5, 8] 2.29. MATLAB DIINDA OLUTURULAN VER DOSYALARININ

YKLENMES Matlab ortamndan veriler; Mat-dosyalar ve TEXT dosyalar biiminde iki ekilde arlabilir. TEXT-dosyas, bahsedildii gibi TEXT karakterleri cinsinden saklanan bilgileri ierir ve bellekte fazla zaman kayb yaratmayan dosyalardr. MATdosyalar Matlab iinde save komutu ile saklanan ve Matlabta hzl ilem yapmak iin tercih edilen dosyalardr. rnein Save dat1 x y;

46

Komutu ile x ve y matrisleri dat.mat isimli dosyada saklanr. Burada .mat uzants Matlab tarafndan otomatik bir ekilde oluturulur. Bu matrisler Matlab iinde Load dat1; Komutu ile arlabilir. Benzer ekilde Matlab iinde oluturulan veriler ASCII karakterleri cinsinden de saklanabilir. rnein, Save dat1.m z /ascii Komutu ile z matrisi dat1.m dosyas iinde ASCII karakterleri (herhangi bir TEXT editr altnda okunabilir ve yazlabilir karakterler) cinsinde saklanabilir. TEXT dosyalar Matlab programlar dndaki programlar (C, FORTRAN, BASIC vb. gibi) tarafndan kullanlmas gereken veriler iin gereklidir. Matlab iinde tekrar tekrar kullanlan verilerin ise .MAT (binary-ikili saylar) uzantl saklanmas tercih edilmemelidir. (Burada binary saklanmasnda anlatlmak istenen ey; Matlabn bu dosyalar yazarken kendi yazm algoritmasn kullanmasdr, bu yzden de kt anlamsz, okunamaz olmaktadr). [5, 8] 2.30. PROGRAM IKIINI GSTERME KOMUTLARI Matlabda bir program sonucunu yani k verilerini yazdrmak veya ekranda belirli bir formatta grntlemek iin temel komut vardr. Bunlar ; disp komutu; bir dizi veya metini ekranda grntler. Dizi grntlemede dizinin ad yazlmaz ve bo bir dizi grntlenemez. Bir dizi karakter dizgesi ise metin olarak grntlenir. Genel yazm format; disp(x) eklindedir. rnek olarak bir g dizisini ele alrsak; >> g=[1 2 3 4 5] g= 1 1 2 2 3 3 4 4 5 5 >> disp(g)

47

eklinde grntlenir. Disp( ) komutu kendisinden nce ve sonra gelecek satr arasnda boluk salar. trnaklar arasndaki boluk saysnn nemi yoktur. Sprintf komutu; formatl bir veriyi bir dizgeye yazmak iin kullanlr. Belirlenmi format dizgesinin kontrol altnda onu s dizge deikenine dntrr. errnsg istee bal olarak bir k argumandr ve bir hata olutuunda veya bo bir matris girildiinde bir hata mesajna dnr. sprintf k bir dosyaya yazma ilevi dnda fprintf komutunun kullanm ile ayndr. fprintf komutu ya bir dosyaya yada ekran k verir oysa sprintf veriyi ve sonucu bir deikenine dntrr. Genel yazm format; Sprintf(format,A,) eklindedir. Aada rnek verilmitir; >> sprintf('%0.5g',(1+sqrt(5))/2) ans = 1.618 eklindedir. Fprintf komutu: formatl program k ekranda gstermek veya elde etmek ve bunu bir dosyaya yazdrmak iin kullanlr. Genel yazm format; fprintf(format,A,) eklindedir. format stringinde belirtilen formatta A dizisi veya ek dizi argumannda elemann gsterir. Daha basit bir gsterim ile; fprintf(format,liste,) eklindedir. burada liste virglle ayrlan deiken adlarn listeler. Komuttaki format stringini genel format ise ; %[-/+/0][say1,say2] kod eklindedir. Burada % iareti sabittir ve mutlaka bulunmaldr. Keli parantez iindeki ksmlar istee baldr. Bayrak (flag) olarak adlandrlan [-/+/0] gsteriminde kn sola hizal olacan, + nnde srekli + iaretinin olacan ve 0(sfr) da

48

say alann boluktan ziyada 0la doldurulacan gsterir. Say alan ve kesinlii yani ondal olarak adlandrlan ikinci ksmdaki say2; ondalk gstergesi olan noktann sandaki rakam saysn, say1 yazdralacak rakamlarn minimum alan geniliini gsterir. Kod, kontrol ve biim kodlarn daha dorusu dnm karakterlerini iermektedir. % iaretinden sonra yazlacak ifadelerin arasnda boluk braklmamaldr. Aada ka (kontrol) ve dnm (biim) kodlar tablo halinde verilmitir. [5, 8]

Tablo 2. 3.Ka (Kontrol) kodlar


Karakter \n \r \b \t \f " \\ %% Ka (Kontrol) kodlar Tanm Yeni bir satra balar. (return or enter) Yeni satrn ba (linefeed) Geri boluk karakteri (backspace) Yatay sekme karakteri (Tab) Formfeed karakteri Apostrof karakteri (iki tek trnak) Ters bl karakteri (backslash) Yzde iareti karakteri
Tablo 2. 4.Dnm (Biim) kodlar

Karakter %e %E %f %g %G %s %c %d

Dnm (Biim) kodlar Tanm Kk harfle bilimsel notasyon Byk harfle bilimsel notasyon Sabit nokta (ondalk) notasyon En ksa olmasna gre %e veya %f %g ile ayn karakter dizgesi tanmlar Tekil karakter aretli ondalk notasyon

rnein; >> fprintf('ilem sonucu %6.2f bulunmutur.\ln',813)

49

ilem sonucu 813.00 bulunmutur.>> Tic, toc fonksiyonu: bu fonksiyon bir ilemin ne kadar sre aldn lmek iin kullanlan bir kronometre gibi alr. lemin banda sanki kronometreye baslr ve ilem sonunda tekrar baslr llm olur. tic kronometreyi balatr. toc aradaki sre ise tic

fonksiyonunun kullanld andan itibaren geen sreyi yazdrr. Genel yazm format ; tic eitli ifadeler toc eklindedir. 2.31. MATLABDA GRAFKLER MATLAB grafik sistemi, verilerin hazrlanmasnda ve grselletirilmesinde ok deiik ve kendine has zellikleriyle bir kullanclara byk kolaylk salamaktadr. MATLAB 3.5 ve daha altndaki srmlerinde; x-y grafikleri, kutupsal grafikler, ubuk grafikler, yzey grafikleri 3-D yzey network meshi oluturmak mmkndr. Bunun yannda MATLAB 4.0 ve daha yukar srmlerinde grafiksel zellikler ok daha fazla artrlm ve yukardaki bahsedilen zelliklere ilaveten x-y-z grafikleri de dahil olmak zere her turlu 3 boyutlu izgi ve yzey grafikleri oluturmak mmkn hale gelmitir. [5, 8] 3.31.1. Boyutlu(2D) Grafikler: Matlabta verilerin 2 boyutlu olarak izdirilmesi ve bu grafiklerin dzenlenmesi ile ilgili bir takm hazr fonksiyonlar mevcuttur. Aada bu fonksiyonlar aklanarak rnekler verilmitir. x-y dzleminde oluturulan pek ok grafikte x ve y eksenlerinin eit aralklarla blnd varsaylr. Ve bu tr grafiklerde lineer grafik adn alr. Baz istisnai durumlarda ya tek eksen zerinde ya da her iki eksen (x,y) zerinde de logaritmik leklendirme kullanlabilir. x ve y vektrlerinin lineer ve logaritmik fonksiyonlar aada verilmitir (eksenler veri saysna gre leklendirilirler). [5, 8]

50

Plot; x ve y eksenlerini lineer olarak leklendirir ve verilerin grafiini izer. Burada xler bamsz deiken yler ise baml deikeni gstermektedir. Genel yazm fomat; plot(Y) plot(X1,Y1,...) plot(X1,Y1,izgitr,...) plot(...,'zellikismi,zellikDeeri,...) h = plot(...) eklindedir.

Xlabel(metin); grafiin x-eksenini adlandrlr. Genelde metin, data ad veya birimi olmaktadr.

Ylabel(metin); grafiin y-eksenini adlandrlr. Genelde metin, data ad veya birimi olmaktadr.

Title(metin); grafii adlandrr. Dier bir deyile grafie isim verir. Grid on; baz durumlarda izgi grafiin daha anlalr olmas iin klavuz izgilerine ihtiya duyulmaktadr. Bu klavuz izgilerini zgara eklinde grafik ekranna getirmek iin kullanlan komuttur.

Grid off; eklenmi klavuz izgilerini kaldrmak iin kullanlr. Text; Hali hazr grafikten alnan eksenleri kullanarak (x,y)

koordinatlar yolu ile belirlenen grafik ekseni zerine bir etiket yazdrr. Yazm format gtext ile ayndr. rnein; >> plot(0:pi/20:2*pi,sin(0:pi/20:2*pi)) text(pi,0,' \leftarrow sin(\pi)','FontSize',18)

51

eklindeki komut dizisi iin ekil 2.9.daki gibi grafik ekran gzlemlenir.

ekil 2. 9.Plot ekrannda etiket grnm Gtext; Bu komut grafik ekran zerinde fare veya ok tular ile gsterilen noktada bir metin veya metinler yazar. Genel yazm format; gtext(metin) eklindedir. rnein; gtext(bu noktaya dikkat) Legend; gsterge eklemek iin kullanlan komuttur. Genel yazm format; Legend(string1,string2,.,pos) eklindedir. Burada pos ise gsterge kutusunu belirli bir yere yerletirmek iin kullanlan deerin yazld ksmdr. Eer bu deer sfr(0) girilecek olursa kutu olabilecek en iyi yere, bir(1) girilecek olursa sa st ke (varsaylan) eksi bir (-1) ise hemen grafiin sa tarafna yerletirlecektir. Legend off; gsterge kutusunu yerletirilen yerden kaldrr. loglog; Hem x ekseni hem de y ekseni iin logaritmik leklendirme kullanarak x ve y deerlerinin grafiini oluturur. Genel kullanm; loglog(x) eklindedir. rnein; 52

>>x = logspace(-1,2); loglog(x,exp(x),'-s') eklindeki komut dizisi iin ekil 2.10daki gibi grafik gzlemlenir.

ekil 2. 10.Plot ekrannn leklendirilmesi semilogx ve semilogy; semilogx, x eksenini logaritmik y eksenini lineer olarak leklendirir ve verilerin grafiini izer. semilogy, x eksenini lineer y eksenini dorusal olarak leklendirir ve verilerin grafiini izer. Genel yazm format loglog komutu ile ayndr. Subplot; ayn dzlem zerinde ve ayn eksen takmn kullanarak tek bir grafik penceresinde birden fazla ilikiyi (grafik) grup halinde gstermek iin kullanlr. Genel yazm format; Subplot(m,n,p) eklindedir. Burada m satr, n ise stun saysn gsterir ve m*n tane matris dzeninde grafik izilebilir. Dier bir deile dikdrtgen eklinde m*n tane grafik dzeni oluturur. Axis; komutu ile var olan grafik zerinde hem x-ekseninde hem de yekseninde geerli snrlarn zerinde deiiklik yaplabilir. Yani istediimiz bir eksen lei belirleyebiliriz. Genel yazm format; Axis([xmin xmax ymin ymax]) eklindedir.

53

Axis equal; eksenlerin entik artmlarn her iki eksen zerinde de eit olacak ekilde ayarlar. Axis square; dikdrtgen bir grafik alan yerine kare grnml bir grafik kutusu olacak ekilde ayarlar. Axis normal; orijinal eksen takmna dndrr. Hold on; dzlem zerideki grafii dondurmak iin kullanlr. Hold off; dondurulan grafii yada grafikleri serbest brakr. Plotyy; grafikte y ekseninin hem sa tarafn hem de sol tarafn leklemek iin kullanr. Genel yazm format; Plotyy(x1,y1,x2,y2) eklindedir. Burada x1e kar y1 grafiini yeksenininin sol tarafna, x2e kar y2 grafiini y-ekseninin sa tarafna izilir. Ezplot; bir fonksiyon yada karakter dizgesinin grafik olarak izdirmek iin kullanlr. Genel yazm format; Ezplot(fun,xmin,xmax) eklindedir. Fplot; ezplot komutu ile hemen hemen ayndr. Ancak bir takm stnlkleri vardr. Y-ekseni iinde snrlar vermemizi bylece daha doru bir grafik elde etmemizi salar. Genel yazm format ezplot ile ayndr.

2.31.2 Bir plotun oluturulmas: Eer y bir vektr ise plot(y) fonksiyonu ynin elemanlarn indislerine gre lineer olarak izdirir. Argman olarak iki vektr belirtilirse plot(x,y) fonksiyonu xe gre ynin lineer fonksiyonunu izer. Bu fonksiyon ile oklu veri kmelerini izimin zelliklerini belirterek izdirmek mmkndr. Plot(x,y) komutu x ve y vektrleri ile temsil edilen noktalar izgi dilimleri ile birletirerek bir izgi grafii oluturur. Kesikli, noktal, noktal kesikli gibi dier izgi trlerini de semek mmkndr. Dier taraftan bir izgi grafii yerine bir nokta grafii de izdirmek mmkndr. Aadaki tabloda izgi ve iaret tiplerinin bir listesi verilmitir. [5, 8]

54

Tablo 2. 5.izgi ve iaret tipleri Renk (color) Sembol Mavi (Blue) b Yeil (Green) g Krmz (Red) r Turkuaz (Cyan) c Mor (Magenta) m Sar (Yellow) y Siyah (Black) k Beyaz (White) w izgi tipi (Line style) Sembol Dz izgi (Solid) Kesikli izgi (Dashed) -Noktal izgi (dotted) -. kesikli noktal izgi (Dash-dot) -. aretleyici sembol (Marker symbol) Sembol Nokta (Point) . Art (Plus) + Yldz (Star) * Daire (Circle) o X iareti (x-mark) x Kare (Square) s Elmas (Dianmond) d Aa bakan gen (triangle down) v Yukar bakan gen (triangle up) Sola bakan gen (triangle left) < Saa bakan gen (triangle right) > Begen (pentagram) p Altgen (Hexagram) h 2.31.3. 3 Boyulu (3D) Grafikler: Matlabda bahsettiimiz zere 2 boyutlu grafikler oluturulabildii gibi 3 boyutlu grafikler de oluturulabilmektedir. Verilerin 2 boyutlu olarak izdirilmesi ve bu grafiklerin dzenlenmesi ile ilgili bir takm hazr fonksiyonlar mevcuttur. Aada bu fonksiyonlar aklanarak rnekler verilmitir. [5, 8] Plot3; 3 boyutlu uzayda noktalarn ve izgilerin grafiini oluturur plot(x,y,z) komutu 3 boyutlu uzayda koordinatlar x,z ve znin elemanlar olan noktalardan gecen tek bir izgi grafii oluturur.

55

Burada x,y ve znin ayn boyutta vektrler olmas gerekir. Genel yazm format; Plot3(x1,y1,z1,izgi tr, . ) eklindedir. rnein; >> t = 0:pi/50:10*pi; plot3(sin(t),cos(t),t) grid on; axis square eklindeki komut dizisi iin oluacak helezon grafii ekil 2.11 gibidir.

ekil 2. 11.Plot3 komutu ile oluturulmu helezon grafii Mesh, meshc, meshz; matris elemanlarnn 3 boyutlu olarak bir perspektifinin izdirirler. Genel yazm format; Mesh(x,y,z) eklindedir. Pcolor; pseudocolor izimi , C tarafndan belirlenmi renkler ile hcrelerin dikdrtgen biiminde sralanmasdr. Genel yazm format; pcolor(x) yada pcolor(x,y,z) eklindedir. surface, yzey nesnesi oluturmak iin dk seviyeli bir grafik fonksiyonudur. Genel yazm format; surface(x,y,z) eklindedir.

56

view; fonksiyonu, kresel koordinatlarda eksenlerin merkezine gre (orjine) alk ve ykselti aclar belirtilerek bak noktasn ayarlar.

2.32. DENKLEM TAKIMLARININ ZM Mhendislik problemlerinde dorusal ve dorusal olmayan eitli denklem ve denklem takmlar ile karlalr. Herhangi bir denklem en basitinden bir doru veya bir eriyi tanmlar. n. Dereceden tek deikenli bir polinom biimindeki bir denklemde, denklemin kklerini bulmak esastr. Birden fazla deikeni bulunan denklem takmlarnda ise denklemleri tekil eden bilinmeyenlerin zm salanr. Dorusal denklemlerin zm dorusal olmayan denklemlere gre daha kolaydr. Matlabta dorusal denklemlerin zm matris ilemleri yolu ile ok basit ekilde zlebilir. Polinom biiminde dorusal bir denklemin kkleri roots fonksiyonu yolu ile zlebilir. Dorusal denklem takmlar ise sa veya sol matris blme ilemleri ve inv (matrisin tersini alma) fonksiyonu yardm ile zlr. Dorusal olmayan denklemlerin zmnde; Matlab iinde yer alan fmin, fmins, fplot, fzero fonksiyon fonksiyonlar kullanlabilir. Dorusal olmayan denklem takmlarnn eitli snr artlar altnda zmnde kullanlan ok deiik fonksiyonlar mevcuttur. Bunlar iinde en kullanls fsolve fonksiyonudur. [5, 8] 2.32.1. Dorusal denklem zmleri: Tek deikenli bir dorusal sistemin denklemi, n. dereceden bir polinom

f ( x ) = a n x n + a n 1 x n 1 + ... + a 2 x 2 + a 1 x + a 0

ekil 2. 12.Sembolik olarak bir polinom biiminde tanmlanr. Burada f(x)=0 biiminde denklemin kklerini bulmak iin Matlab iinde yer alan roots fonksiyonu veya fzero fonksiyon fonksiyonu kullanlabilir. Fzero fonksiyon fonksiyonu daha ok dorusal olmayan

57

denklemlerin zmnde kullanlr. Roots fonksiyonunun kullanl, aada verildii gibi ok basittir. roots( [an, an-1,..., a2, a1, a0]) eklindedir. Burada roots fonksiyonu iin giri argmanlarn, an, an-1, ......,a2, a1, a0 biiminde polinomun en yksek dereceden balayarak azalan kuvvetlerinin katsaylar olarak tanmlamak yeterlidir. Sonuta k olarak denklemin kkleri bulunur. rnein;3x6+4x5+13x4-2x3+1.5x2-10.5x-5 eklindeki dorusal bir 6. dereceden denklem iin komut dizini, >> a=[3 4 13 -2 1.5 -10.5 -5] >> yp=roots(a) eklindeki bir komut dizini sonucu yp = -0.7494 + 1.8819i -0.7494 - 1.8819i 0.9409 -0.1837 + 1.0120i -0.1837 - 1.0120i -0.4081 sonular elde edilir. Burada yukarda aa olmak zere her bir satr bir kk temsil etmektedir. [5, 8] 2.32.2. Dorusal denklem takmlarnn zmleri: n. dereceden dorusal denklem takm a11 x1 + a12 x 2 + ... + a1n xn = b1 a 21 x1 + a 22 x 2 + ... + a 2 n x n = b2 ............................................. a n1 x1 + a n 2 x 2 + ... + a nn xn = bn ekil 2. 13.Sembolik olarak dorusal denklem takm biiminde verilir. Bu denklem takmnn matris biiminde gsterimi [A] [x] = [B ] eklinde tanmlanabilir. Burada; 58

a11 a12 .. a1n a 21 a 22 .. a 2 n A= .. .. .. .. a n1 a n 2 .. a nn

B = [b1 b2 .. bn ]

ekil 2. 14.Sembolik olarak matris ve vektr takm katsaylar matrislerini ve

X = [x1 x2 ... x3 ]
ekil 2. 15.Sembolik olarak vektr takm zm istenen deikenler matrisini (vektrn) gsterir. Bu tr istenen denklem takmlarnn zm iin, iinde yer alan zel fonksiyonlar yoktur. Bu denklemlerin zmnde matris ilemlerinden yararlanlabilir. AX=B biiminde verilen denklem takmnn zmnde A\B biiminde soldan (blen blme iaretinin solunda yer almakta) matris blme ilemi ile yerine getirilir. XA=B biiminde tanmlanan matris denklemin zmnde B/A eklinde sadan matris blme ilemi kullanlr. Sadan ve soldan matris blme ileminde saysal Gauss eliminasyon teknii kullanlr. [5, 8] 2.32.3. Denklem Takmlarnn Ters Matris lemi Yolu ile zm: AX=B biiminde verilen ve Bnin satr matrisi olarak tanmland matris denkleminin her iki tarafn A-1 ile arparsak A-1*AX=A-1 *B elde edilir. Burada A-1 A, I olarak tanmlanan birim matrise denktir. Buna gre IX=A-1B veya X=A-1B elde edilir. 59 (2.3.) (2.2.) (2.1.)

MATLAB ortamnda bu zm; X=inv(A)*B (2.4.)

komutu ile elde edilebilir. Dier taraftan Bnin stun matrisi olarak tanmland, XA=B biiminde ifade edilen denklem takmnn zm iin, her iki taraf A-1 ile arplr ve gerekli dzenlemeler yaplrsa X=BA-1 elde edilir. Matlab ortamnda X=B * inv(A) (2.6.) (2.5.)

bildirimi ile gerekli zm elde edilmi olur. rnein; aada ters matris yntemi ile zlm bir denklem takmnn komut dizini verilmitir. [5] [8] a=[ 1 2 1 3; 4 7 4 -10; -1 1 -1 -2; 3 -10 -2 5] b=[2 16 1 -15] x=b*inv(a) bildirimi ile zm elde edilir. Yukarda verilen bildirimler yolu ile x zm iin; x= 2.0000 1.0000 3.0000 -1.0000

eklinde elde edilmi olur. Burada x1= 2, x2=1, x3=3 x4=-1 dir. 2.32.4. Dorusal olmayan denklemlerin zm: Dorusal olmayan denklemlerin dorusal denklemlerde olduu gibi tek bir standart biimi yoktur. Gerek Matlab iinde gerekse Optimatization Toolbox iinde, gerek tek deikenli ve gerekse ok deikenli denklemlerin zmnde kullanlan eitli zm fonksiyonlar vardr. Dorusal olmayan denklemlerin zm, dorusal denklem zm kadar basit olmayp bunlarn zm iin ayrca bir fonksiyon dosyas hazrlanmas gerekir. Burada, MATLAB iinde yer alan fzero fonksiyon fonksiyonu ile Optimatization Toolbox iinde yer alan fsolve fonksiyon fonksiyonu ayrntl bir

60

biimde ele alnacaktr. Ayrca dier dorusal olmayan fonksiyon fonksiyonlarnn ksaca tanmlar gzden geirilecektir. Fzero; Fonksiyon fonksiyonu; tek deikenli bir fonksiyonun sfrn hesaplar. Genel kullanm biimleri aada olduu gibidir. z=fzero(function,X0); z=fzero(function,X0,tol); z=fzero(function,X0,tol, trace); fun(x) biimindeki bir fonksiyonun, X0 ile tanmlanan deere yakn olan tek bir sfrn hesaplar. Burada, fonksiyonu sfr yapan, yani x eksenini kesen bir sfr deeri hesaplanr. kinci bildirimde yer alan tol isimli, seimli argman bal hata toleransn belirler. nc bildirimde yer alan seimli trace argman her bir hesap yineleme ilemindeki bilgileri grntler. Fonksiyon fonksiyonu olan fzero fonksiyonunu kullanmak iin ayrca function ile balayan bir fonksiyon dosyas hazrlanmas gerekir. rnein; e2x x 2 biiminde verilen dorusal olmayan fonksiyonun bir adet sfrn bulmak iin komut dizini aada verilmitir. function y=fex(x) y=exp(2*x)-x-2; biiminde hazrlanr. Daha sonra MATLAB ortamnda; z=fzero(fex,1) z0.4475 sonular elde edilir. Yukardaki rneklerden de grld gibi fzero fonksiyonu herhangi bir fonksiyonun tahmini bir sfrnn hesaplanmasnda ve/veya dorusal olmayan denklemlerin zmnde daha kullanldr. Dorusal denklemlerin ayn anda tm kklerini zmek gerektiinde roots fonksiyonunu kullanmak daha pratik olacaktr. [5, 8]

61

2.32.5. Dorusal olmayan denklem takmlarnn zmleri: Dorusal olmayan denklem takmlarnn zmnde, Optimization Toolbox iinde yer alan fsolve fonksiyon fonksiyonu kullanlr. fsolve fonksiyonu dorusal olmayan denklem takmnn zmn salar. fsolve fonksiyonunun belli bal kullanm biimleri aada olduu gibidir. x=fsolve(fun,x0) x=fsolve(fun,x0,options) x=fsolve(fun,x0,options,grad) x=fsolve(fun,x0,options,grad,p1,p2, ...) [x,options]=fsolve(fun,x0, ...) fsolve dorusal olmayan denklemlerin kklerini hesaplar. k argman olan X deerleri; F(x)=0 eklinde hesaplanr. Burada F(x) ve X skaler, vektr veya matrislerden ibaret olabilir. x=fsolve(dun,x0) bildirimi, fun.m isimli M-dosyasnda tanmlanan

denklemleri, X0 tahmini balang deerlerinden balayarak zer ve sonucu X deikenine atar. Burada X0 boyutu x deiken says kadar olmaldr. kinci bildirimde yer alan seimli argman options seimli parametreler vektrn tanmlar. options iin pek ok seenek mevcuttur. Bunlar ile ilgili bilgiler help fsolve yolu ile salanabilir. nc bildirimde yer alan grad, X noktasnda fonksiyonlarn ksmi trevlerini (Jacobianlarn) df/dx, df=grad(x) elde etmek iin kullanlr. dfin iinci stunu fdeki fonksiyonun iinci ksm trevine karlk gelir. Optimization Toolbox iinde, dorusal olmayan denklemlerin, deiik ekilde zmnde kullanlan dier pek ok fonksiyon vardr. Bunlarn tanmlar aada kullanlan dier pek ok fonksiyon vardr. Bunlarn tanmlar aada olduu gibidir. Genel kullanm biimleri Matlab ortamnda help komutu ile elde edilebilir. [5, 8] Attgoal; oklu-amal hedefe ulama problemi zm Constr; kstl minimizasyon zm

62

Fmin; skalar kstsz minimizasyon zm. fminu, fmins; kstsz minimizasyon zm. Fsolve; dorusal olmayan denklem zm. Leastssq; dorusal olmayan en kk kareler zm. Minimax; minimum-maksimum zm. Seminf; yar mutlak minimizasyon Lp; dorusal programlama Nnls; negatif olmayan en kk kareler zm. qp ; erisel programlama.

2.32.6. Matlabda diferansiyel denklem zmleri: Birinci dereceden bir diferansiyel denklemin genelletirilmi biimi; y=
dy =g(x,y) dx

(2.7.)

eklinde ifade edilebilir. Burada; x bamsz deiken ve y de baml deikendir. Birinci dereceden bir diferansiyel denklemin zm f (x) = g(x,y) fonksiyonundan elde edilen y=f(x) eklinde bir fonksiyondur. Bir diferansiyel denklem zmnn saysal hesaplamas y trevinden y nin elde edilmesi iin gerekli integrasyon ilemini
x =b

y=

g ( x, y)dx
x =a

(2.8.)

kapsar. Bir diferansiyel denklemin zm genellikle bir fonksiyonlar ailesi biimindedir. Tek bir zel zmn hesaplanabilmesi iin snr koullarnn (x=a, x=b) tanmlanmas gerekir. [5, 8] 2.32.7. Matlabda diferansiyel denklemlerin saysal zmleri: Matlabta diferansiyel denklemlerin saysal zmnde kullanlan; ode23 ve ede45 adnda iki adet Ruge-Kutta fonksiyonu mevcuttur. Bunlardan; ode23 fonksiyonu ikinci ve nc dereceden Runge-Kutta integrasyon denklemlerini,

63

ode45 fonksiyonu da drdnc ve beinci dereceden Runge-Kutta integrasyon denklemlerini kullanr. ode23 ve ode45 fonksiyonlarnda ayn trden giri ve k argmanlar kullanlr. Ode fonksiyonlarnn genel kullanm ekli; [y t] = ode23(yprime,t0,tf,yo,tol,trace); biimindedir. Giri argmanlarnn aklamas ise aada olduu gibidir. Yprime: ntegre edilmesi gereken diferansiyel denklem takmn tanmlayan fonksiyon dosyas, m-uzantl olarak saklanan fonksiyon dosyas ve fonksiyon ad ayn (rnein yprime) olmal ve ode fonksiyonlar ile arldnda (trnak) iinde gsterilmelidir. Kullanc tarafndan hazrlanan fonksiyon dosyas bamsz deiken, x ve baml deiken, y olmak zere iki giri argmanna ve aada gsterilen, durum trevlerinin bir stun vektr olan ydot(y) kna sahiptir.

' i

dy veya dx

' i

dy dt

(2.9.)

Fonksiyon dosyas function ydot=dosya_ad(t,y) bildirimi ile balar ve zlecek DD takm denklemlerinin MATLAB formatnda yazlm ile devam eder. t0: ntegrasyon iin balama zaman veya y=f(x) eklinde herhangi bir fonksiyonun integre edilmesi halinde integrasyon aralnn balang deeri, a. tfinal: ntegrasyon zamannn nihai deeri veya y=f(x) eklinde herhangi bir fonksiyonun integre edilmesi halinde integrasyon aralnn sona erme deeri, b. y0: Bamsz deikenin veya snr deerleri. Bir diferansiyel denklem takmnn zm halinde balang koullar bir satr vektr biiminde olur. tol:Seime bal bir argman olup zmde integrasyon ileminin hata snrlarn belirler. Eer bu argman arlan fonksiyonda yer almazsa

64

ode23 fonksiyonunda hata snr deeri 1.0e-3 ve ode45 ile hata snr deeri 1.0e-6 olarak otomatik belirlenir. trace: stee bal bir argman olup hesaplama srasnda elde edilen ara deerlerin saklanp saklanmayacan belirleyen bir bayrak (flag) tr. 0 deeri saklanmayacan ve 1 deeri saklanacan gsterir. Kullanlmamas halinde otomatik olarak 0 kabul edilir. ode fonksiyonlar ile elde edilen zmn sonular bir t ve y matrisleri biiminde daha sonra kullanlmak zere saklanr. Burada birinci argman, t bir stun vektr eklinde zaman deerlerini veya y=f(x) halinde bamsz fonksiyon deerlerini temsil eder. kinci argman, y; diferansiyel denklemin derecesine bal olarak durum deikenleri matrisini temsil eder. Bu matris durum deikenlerinin says kadar stuna sahiptir. Satr says ise zmn durumunu belirler. ode fonksiyonlarnn kullanm ve bunlar ile birlikte kullanlacak diferansiyel denklem fonksiyon dosyalarnn yazlmasn aklamak zere basit bir birinci dereceden diferansiyel denklem zm rnei verelim. rnein; aada verilen birinci dereceden diferansiyel denklemin y(0)=1 balang koulu ve [1,10] snr deerleri arasndaki zmn bulalm. y=
dy =g1(x,y)=4x3cosx2-x2 dx

(2.10.)

Problemin zm iin, ilknce aadaki fonksiyon dosyas yazlr. Fonksiyonun yazlmas iin MATLABn dahili editr kullanlabilir. Bunun iin MATLAB komut satrnda edit yazlp entera baslr. MATLABta saysal diferansiyel zmleri iin ode fonksiyonlar kullanlr. ode fonksiyon dosyalar daha nceden de anlatld gibi fonksiyon fonksiyonu dosyalardr. Yani zm retilecek probleme ait fonksiyonu girdi olarak kabul ederler. Sonucu ise problemin baml ve bamsz deikenlerine karlk gelecek ekilde matrissel olarak retir. Bundan dolaydr ki, eleman says birden fazla olan matrissel sonular gzlemlemenin en iyi yolu grafiini izdirmektir. MATLAB programnda bu ii yapan fonksiyon ya da komut plot (iz) komutudur. Plot komutunun kullanm ekli problemin zm srasnda anlatlacaktr function dy =deneme(x,y) 65

dy=4*x^3*cos(x^2)- x^2; function kelimesiyle balayan dosyann fonksiyon ad deneme olarak belirlendiinden dosya ad da deneme.m olarak saklanmaldr. MATLAB ortamnda zm salayan bildirim aadaki gibidir. >> [a b]=ode23(deneme,1,10,1); dir. Bu rnek de plot komutu ile gerekli dizini oluturulduunda bir (1) ve on (10) snrlar arasnda diferansiyel denklemin deiimi izlenebilir. 2.32.8. Matlabda diferansiyel denklemlerin sembolik zmleri: Matlab program her ne kadar sembolik zmler gerekletirmek zere gelitirilmi bir paket program olmasa da, Matlaba 4.0 srmnden sonra The Symbolic Math Toolbox ad altnda bir paketin eklenmesiyle bu i iinde kullanlmaya balanmtr. Sembolik zmlemenin anlam; bir saysal zm elde etmek yerine, saysal zmn bir basamak gerisinde kalan, saysal zm verebilecek bir fonksiyon elde etmektir. Matlabta diferansiyel denklem zm iin kullanlan fonksiyon fonksiyonu dsolve (differantial solve: diferansiyel zmle)dur. [5] [8] Dsolve;Dsolve zmn bulur. dsolve('eitlik1','eitlik2', ... , bsart1,bsart2,...) eklinde balang artlarn ve sradan diferansiyel eitlikleri parametre olarak alr. Bu ekilde birok balang art ve eitlik beraberce kullanlabilir. Dsolve fonksiyon fonksiyonu sunucu default olarak, bamsz deiken t ye gre hesaplar. Bu t varsaylan, fonksiyonun sonuna eklenecek bir baka bamsz deiken ile deitirilebilir. rnein; dsolve('eitlik1','eitlik2', ... , bsart1,bsart2,...,x) D harfi bamsz deiken sras ile diferansiyel bulmay belirtir, genellikle D, d/dt dir. Ayrca D2=d^2/dt^2 olarak ifade edilir. Hemen D diferansiyel bulma operatrn izleyen herhangi bir karakter, baml deiken olarak alnr. rnek olarak, D3y y(t)nin 3.trevini belirtir. Dikkat fonksiyonu sradan diferansiyel eitliklerin sembolik

66

edilmesi gereken bir nokta vardr, buda D harfinin eitliin herhangi bir yerinde sembolik deiken olarak kullanlmamasdr. dsolve fonksiyonunda, y baml deikenlerden biri ve a ve b sabitler olduunda y(a)=b veya Dy(a)=b eklinde balang artlar belirtilebilir. Eer balang artlarnn says baml deikenlerin saysndan az verilirse, meydana gelen zmler rastgele sabitler (C1,C2,C3,...gibi) ierir. dsolve fonksiyonu eer, belirgin bir zm bulduysa bunu ekrana basar, eer belirgin bir zm bulunamazsa bir uyar verilir ve bo bir sym(symbolic) deeri geri dndrlr. Ayrca dsolve fonksiyonu baz durumlarda diferansiyel eitlik veya integral ieren ifadeler ieren zmler bulabilir. [5, 8] Matlabta bunu normal, matematiksel tarzda ifade etmeye yarayan bir fonksiyon vardr. Bu fonksiyon aadaki gibidir. pretty(symbolic) symbolic ifadesi normal matematiksel tarzda yazlmas istenen fonksiyona karlk gelmektedir. pretty fonksiyonun ile kullanlacak parametre mutlaka sembolik olmaldr. rnein; >> pretty(dsolve('Dy+(1/x)*y=sin(x)','x')) eklindeki komut dizini iin sonu;

C4 - sin(x) + x cos(x) - ----------------------------- eklindedir. x

2.33. SIMULINK (SMULASYON): Simulink, modelcilik, simle etme ve zmleyi dinamik sistemler iin yazlm paketidir. Srekli zamanda modellenilen dorusal ve dorusal olmayan sistemleri destekler. Sistemler, ayn zamanda ok dereceli olabilirler, farkl dereceli denilen veya gncelletirilen farkl paralara sahip olabilirler. Modelcilik iin, simulink, blok izimleri, kullanma tkla ve tas fare operasyonlar ile modelleri ina etmek iin grafiksel kullanc arabirimi salar.

67

Simulink modellerinin benzetimi diferansiyel denklem takmlarnn saysal integrasyonu ile ilgilidir. Simulink iinde bu tur denklemlerin simlasyonun da kullanlan eitli integrasyon yordamlar mevcuttur. Aada simulink bloklar verilmitir. (Kullanmlar ve zellikleri iin Bkz. MATLAB/HELP) [5] 2.33.1. Simulink Bloklar: Simulinkte modeller oluturulurken temel bloklar vardr. Ancak paket programn gelitirilmesi ve her geen gn gncellenmesi ile bir ok bloklar oluturulmutur. Aadaki ekilde bunlardan sadece bir ka gzkmektedir.

ekil 2. 16.Simulink bloklarndan bazlar Sources blocks(kaynaklar bloklar) Sinks blocks Discrite blocks Linear blocks Nonlinear blocks Connections blocks eklinde sralanabilirler. 2.33.2. Simulink modellerin oluturulmas ve altrlmas: Simulink, bir dinamik sistemin modellenmesi iin blok semalar sunar. Bir sistemin modellenmesinde kullanlan blok elemanlar dorudan simulink blok ktphanelerinden seilir. Bunun iin MATLAB alma ortamnda >>simulink komutu girmek yeterlidir. Bu durumda ilk karsmza kan eitli blok ktphanelerini temsil eden kutu seklindeki semalardr. Daha sonra simulink Fileden New seilerek yeni ve bos bir sitem penceresi alr Bu pencere simulink alma ve dinamik model oluturma ortamdr ve ayn zamanda isimlendirilmemi

68

(untitled) bir dosyadr. Modelimiz iin gerekli bloklar, blok ktphanelerinden srkle brak ya da kopyalama ile tanr.

ekil 2. 17.Simulink alma (untitled) penceresi Bir blok ktphanesinde ne trden blok elemanlar olduunu anlamak iin fare ile ift tklamak sureti ile bu ktphaneyi amak yeterlidir. Bu elamanlardan modelimiz iin gerekli olanlar fare ile srklenerek alma ortamna tanr. alma ortamna yaplmak istenen model iin gerekli elemanlar tandktan sonra bu elemanlar uygun bicimde balant yerlerinden birbirlerine balanr. aret verici kaynak (source) bloklar yalnzca k balant ucuna, iaret gsterici bloklar yalnzca giri balant ucuna ve dier bloklar ise hem giri hem de k balant ucuna sahiptir. Arzu edilen bicimde model oluturulduktan sonra .m uzantl bir isim verilerek (rnein modelim.m) uygun bir dizin altnda saklanabilir. Model oluturma penceresindeki menden simulation/start komutu seilmek suretiyle modelin simulasyonu altrlr. Scope gibi iaret alc bloklar kullanmak sureti ile sonular annda alnabilir. Ayrca zm sonular bir dosyada saklanarak Matlab ortamnda grafikleri elde edilebilir. [5] 2.33.3. Adm adm bir modelin oluturulmas ve altrlmas: 1. Yeni bir alma ortam yukarda anlatld gibi oluturulur.

ekil 2. 18.Simulink alma (untitled) penceresi

69

2. Modelimizde kullanacamz elemanlar ilgili bloklardan bulunur.

ekil 2. 19.Simulink blok ktphanesi 3. Eleman, bulunduu pencereden alma ortamna fare ile srklenerek yerletirilir.

ekil 2. 20.alma sayfasna bloklarn yerletirilmesi 4. Ve ayn metotla modelin dier elemanlar da alma ortamn tanr.

70

ekil 2. 21.alma sayfasna bloklarn yerletirilmesi 5. Modelde bulunan multiplexirin tklayarak parametre giri ularndan sadece penceresine erimeliyiz. 2sini Ve bu

kullanacamzdan u girii ikiye indirebilmek iin Mux. zerine ift ekilde penceredeki 3 deerini 2 yapmalyz.

ekil 2. 22.Mux blok parametreleri 6. Artk balant ilemine geerek uygun ekil 2.22, 2.23, 2.24 gsterildii gibi adm adm balantlar yaplr.

ekil 2. 23.alma sayfasnda bloklar aras balantlar

71

ekil 2. 24.alma sayfasnda bloklar aras balantlar

ekil 2. 25.alma sayfasnda bloklar aras balantlar 7. Ve son ilem modeli altrmaktr. Bunun iin penceredeki mende bulunan simulasyon/start vermeliyiz. Eer scopenin zerine ift tklanrsa modelin sonucunu grebilmek iin ekil 2.25deki bir pencere ile karlarz. [5]

72

ekil 2. 26.Simlasyon altrlmas sonucu scope ekran

73

BLM

3:

ELEKTRKSEL

DEVRE

ELEMANLARININ

MATEMATKSEL MODELLER

3.1. GR Matlabda mhendislik problemlerinin zm iin algoritmalar, programlar ya da modeller oluturabilmek iin sistemlerin ya da sistemleri oluturan fiziksel elemanlarn parametreleri ve matematiksel modellerini bilmek gerekir. Bu modellerin oluturulmas srasnda ilem kolayl oluturmak asndan laplace ilemleri de uygulanacaktr. Laplace transfomasyonu, ierisinde yksek dereceli trev, integral ve diferansiyel denklemlerini problem zerken ilem kolayl gerekletirilmi bir ilemdir. En temel de d/dx trev operatrnn yerine s domenini kullanarak laplace transformasyonu (laplace transformation) tablolar oluturulmutur. Ayrca Matlab ile algoritmalar oluturulurken baz durumlarda nmerik analiz (numerical methods) tekniklerinden de yararlanlmaktadr. Bu tablolar ve tekniklerden bahsedemeyeceimizden dolay yaynlanm yazl yada internet kaynaklarndan yararlanmakta fayda vardr. Elektrik mhendisliine dair vereceimiz rnekler iin elektrik sistemlerinde kullanlan elemanlarn matematiksel modellerini de vermeyi uygun bulmaktayz. Bu blmde sras ile elektrik mhendisliinde temel oluturan bilgileri vereceiz. Bunlar; 1. Yk kavram 2. Bir bobindeki akm miktar 3. Bir kondansatrdeki gerilim miktar 3.2. YK KAVRAMI Bilindii zere, elektriksel yk; atom alt paracklarn sahip olduu ve onun elektromanyetik ile olan etkileimini tayin eden, temel bir zelliktir. Bir iletkenin ierisinden geen akm ise birim zamanda deien yk miktardr. Yani; I amper cinsinden akm, t saniye cinsinden zaman ve q coulomb cinsinden yk miktarn gstermek zere; (3.1.)

74

eklindedir. Bu ifadeden q yk miktarn I akmna bal olarak bulunursa dq deiken yk miktarn yalnz brakp elde edilen ifadenin her iki tarafnn integrali alnrsa; (3.2.) ve sonu olarak da I=I(t) olmak zere; (3.3.) ifadesi bir iletkenden herhangi bir zaman aralnda geen yk miktarn verir. Burada (3.1.) de d/dt yerine s domeni yazlr ve laplace ilemi uygulanrsa; (3.4.) eklinde s domenine geilmi olur. [9, 10] 3.3. BR BOBNDEK AKIM MKTARI Bir bobindeki gerilim; tsaniye cinsinden zaman, I amper cinsinden akm, L Henry cinsinden bobinin endktans (inductance) miktarn gstermek zere; (3.5.) dir. Buna gre; (3.6.) Olur. Burada I akmn elde etmek iin, bu son ifadenin her iki tarafnnn integrali alnrsa; 1/ Olur. Bylece; (3.8.) fadesi herhangi bir t anndaki bobindeki akm veren formldr. (3.7.)

75

Burada (3.5.) de ve (3.8)deki d/dt yerine s domeni yazlr ve laplace ilemi uygulanrsa; V (3.9.) (3.10.) eklini alr. rnein; 10 Hlik bir bobindeki gerilim akm; 4 1 4 1
/

1 volt eklinde

veriliyor. Buna gre balang akm 7.5 Amper olmak zere t=2 saniyedeki bobin

olur. Snrlar yerine yazld zaman sonu; amper olmaktadr. Balang deeri ilave edilince; 7,5 olarak bulunur. [9, 10] 3.4. BR KONDANSTRDEK GERLM MKTARI Bir kondansatrdeki akm; / (3.11.)

olduunu biliyoruz. Yani birim zamanda deien gerilim miktar ile kondansatr sabitinin arpmna eittir. Burada; C farad cinsinden kondansatr sas, t saniye cinsinden zaman ve V volt cinsinden gerilimdir. Buna gre 3.11. formlnden bir kondansatrdeki gerilim miktar; (3.12.) olur. 3.12 numaral eitliinin her iki tarafn integrali alnrsa; (3.13.)

76

ifadesi herhangi bir anda kondansatr akmn veren formldr. Burada (3.11.) de ve (3.13)deki d/dt yerine s domeni yazlr ve laplace ilemi uygulanrsa; (3.14.) (3.15.) eklini alr. rnein; 2Flk bir kondansatr 20 V balang gerilimine ve zamana gre 1 akmna sahiptir. t=2 saniyede kondansatrdeki gerilim miktar; 1 olur ve snrlar yerine yazldnda gerilim; 2 = 1/3 Volt olur. Balang deeri ilave edilince; 20 olarak bulunur. [9, 10]

77

BLM 4 : MATLAB UYGULAMALARI

4.1. GR: Daha nceden de belirttiimiz gibi Matlab paket program ierisinde barndrd bir ok ara kutular ile bir ok disiplinlerde bir ok problemin zm iin kullanclara imkan salamaktadr. Bu blmde daha nceki blmlerde bahsetmi olduumuz bilgiler dorultusunda uygulamalar; Coloumb kanunu Kondansatrn dearj Diode akm RLC devresi akm ve gerilim deeri deiimi Maksimum g teoremi Asenkron makine bota ve ksa devre parametreleri elektrik mhendisliine dair baz problemlerin Matlab ile zmlemelerini program bloklar ve simlasyon bloklar halinde vereceiz. Bu

4.2. COLOUMB YASASI UYGULAMASI Coulomb yasas, elektrik ykl iki parack arasndaki kuvvetin bykl, yklerin arpm ile doru, yklerin arasndaki uzakln karesiyle ters orantldr eklinde ifade edilir. Bu tanm, Newton'un, mekanik harekete ilikin nc yasasna benzerdir. Colulomb yasasnn formlasyonu, Newton'un yerekimi yasas ile ayn formdadr: Bir ktlenin, ikinci ktleye uygulad elektriksel kuvvet, ikincinin birinciye uyguladna eittir. Kuvvetin hem ynn hem de bykln ayn anda hesaplayabilmek iin, yasann vektrel formunun kullanmak gerekir. Vektrel form olarak coloumb yasas; (4.1.) eklindedir. burada elektrik alan eklinde ise; 78

(4.2.) eklinde olur. Burada; ; ; ; ; elektrostatik kuvvet vektr, ; kuvvetin uyguland yk, ; yk, ; iki yk arasndaki mesafe vektr, 'in konum vektr, 'nin konum vektr, ve ynne bakan birim vektrdr.

Bu vektr denklemi, zt yklerin birbirini ektiini, ayn yklerinse birbirini ittiini gsterir. sz konusudur.[12] ekil 4.1.de iki adet ykn birbirlerine gre konumlar verilmitir.[12] negatif olduunda eken, pozitif olduunda ise iten bir kuvvet

ekil 4. 1.Yklerin x-y koordinatlarna gre konumlar

q = 12 1019 C iin iki adet ykn konumu ekil 4.1.(b) de gsterildii gibidir. Burada o havann elektriksel geirgenlii olmak zere 8.8542 1012 C2/Nm2, x=8 cmdeki elektrik alan iddetini veren uygulama aadaki gibidir.

79

4.2.1. Coloumb yasas uygulamasna dair algoritma: Uygulamann zm srasnda uygulanan algoritma (izlenen yol) aadaki gibidir. 1. Yklerin konumunu tanmlayan konum vektr tanmlanr. 2. Yklerin orjine olan dik uzaklklar hesaplanr. (4.3.) ve (4.4.) eklindedir. 3. X-eksenindeki noktalar iin birim vektrleri yazlr. 4. Rms ve rps deerleri yerlerine konularak elektrik alan byklkleri pozitif ve negatif olarak bulunur. 5. Pozitif(epmag) ve negatif(emmag) elektrik alan byklkleri birim vektr ile arplarak deerleri bulunur. 6. Pozitif(epmag) ve negatif(emmag) elektrik alan byklkleri toplanarak toplam elektriksel alan bykl hesaplanr. 7. Bulunan deerin karekkleri alnr. 8. Elektriksel alan bykl grafiksel olarak gsterilir. 4.2.2. Coloumb yasas uygulamasna dair program blou: Coloumb yasas uygulamasna ait program blou yukardaki algoritma dorultusunda Matlab ortamnda oluturulmu ve m-file olarak kaydedilmitir. Program blou arasnda satr boluklar kaldrlacaktr. [11] Program; q =12e-9; ep = 8.8542e-12; %havann elektriksel geirgenlii x=0.08; %iki yk arasndaki uzaklk rms =((0.03-x)^2)+(0.03^2); rm = sqrt(rms); rps =(0.03+x)^2+0.03^2; rp = sqrt(rps); emuv =[((0.03-x)./rm),(-0.03./rm)]; % negatif yk iin birim vektr epuv =[((0.03+x)./rp),(0.03./rp)]; % pozitif yk iin birim vektr emmag =(q/(4*pi*ep))./rms; epmag =(q/(4*pi*ep))./rps;

80

em =[emmag*emuv(:,1),emmag*emuv(:,2)]; %yklerin arpm ep =[epmag*epuv(:,1),epmag*epuv(:,2)]; e = em+ep; emag = sqrt(e(:,1)^2+e(:,2)^2); disp('Elektrik alannn genlii (N/C):'); disp(emag); eklindedir. Matlabda kullanlan komutlarn renk kodlarn grebilmek amacyla programn yazld editr penceresi ekil 4.2. de aada verilmitir.

ekil 4. 2.Coloumb yasas uygulamasna ait program

81

ekil 4. 3.Coloumb kanunu uygulamasnda yklerin konumuna gre deiim Uygulamaya ait grafik ekran ekil 4.3. de grld gibi x deerinin deiimi sonucu eri gibi bir deiim oluur. 4.3. KONDANSATR SIASI UYGULAMASI Klasik olarak bildiiniz gibi, iki iletken paralel plaka arasna dielektrik (yaltkan) bir madde konulursa kondansatr oluur. Kondansatrler bu yaltkan maddenin trne gre olduka eitlidir.

ekil 4. 4.Kondansatre ait prensip emas

82

Kondansatr oluturan bu iki iletken plaka arasna sabit bir V gerilimi uygulanrsa oluan elektrik alan sonucu kondansatr plakasndaki elektronlar kaynan pozitif tarafna doru ekilir. Elektronlarn bu alan dengelemek amacyla ekilmesi yk akdr. Belirli bir sre sonra iki plaka arasnda alan dengeleyen Q yk birikir. Biriken Q yknn uygulanan V gerilimine oran kondansatrn sas ya da kapasitesi olarak adlandrlr, C ile gsterilir, birimi Farad dr.. (4.5.) burada; Q; biriken yk miktar (Coulomb) V; uygulanan gerilim (Volt) C; sa ya da kapasite (Farad)

Bu kapasite hesaplanmak istenirse aadaki eitlik kullanlr. (4.6.) Denklem 4.7. de ; ; Boluun dielektrik katsays:(8.854x10 -12 F/m) r; Plakalar arasnda kullanlan yaltkan malzemenin bal (relative) dielektrik katsays (oran olduu iin birimsizdir) A; Plakalarn alan (m) d; Plakalar aras uzaklk (m)

Aadaki devre kondansatrn dolmas ve boalmas srasndaki gerilim deiiminin analizi iin kullanlacaktr. Anahtar 1 konumundayken kondansatr Vo gerilim kayna tarafndan R direncinin ve kondansatrn C sasnn belirleyecei hzla dolar.

83

ekil 4. 5.Kondansatrn dearj uygulamasna ait balant emas ekil 4.5 deki devre zerinde akm ve gerilim denklemleri yazldktan ve cebirsel ilem yapldktan sonra denklem 4.7. elde edilir. (4.7.) Gzlemler sonucu Tablo 4.1. deki zamana gre kondansatr u gerilimi V deerleri verilmitir. Tablo 4. 1.Kondansatr u gerilimlerin zamana gre deiimi t(sn) 1 2 3 4 5 6 7 8 9 10 V(Volt) 9,5 7,35 5,25 3,65 2,85 2,05 1,25 0,95 0,75 0,61

4.3.1. Kondansatrn dearj uygulamasna dair algoritma: Uygulamann zm srasnda uygulanan algoritma (izlenen yol) aadaki gibidir. 1. Deikenler girilir. (diren deeri ve gerilimler gibi) 2. Zaman vekr oluturulur. 3. Gzlemlenmi u gerilimi deerleri vektrleri oluturulur. 4. Kondansatr sas ve balang gerilim deerleri bulunur.

84

5. Grafik koordinatlar belirlenir. 6. Ilem sonular grafik zerinde grntlenir. 4.3.2. Kondansatrn dearj uygulamasna dair program blou: Kondansatrn dearj uygulamasna ait program blou yukardaki algoritma dorultusunda Matlab ortamnda oluturulmu ve m-file olarak kaydedilmitir. Program blou arasnda satr boluklar kaldrlacaktr. [11] Program; r=2000; % Diren deeri, uygulama iin 2000 ohm'dur t=1:10; % zaman vektr v=[9.5 7.35 5.25 3.65 2.85 2.05 1.25 0.95 0.75 0.61]; %gzlenlenmi u gerilimleri p=polyfit(t,log(v),1); c=-1/(r*p(1)); % Kondansatr sas tayini v0=exp(p(2)); %Balang gerilim deeri tayini tplot=0:0.1:10; % choosing plotting coordinates vplot=v0*exp(-tplot./(r*c)); disp('kapasite (F)='); disp(c) plot(t,v,tplot,vplot) xlabel('t(s)'); ylabel('voltage'); Matlabda kullanlan komutlarn renk kodlarn grebilmek amacyla programn yazld editr penceresi ekil 4.6. da aada verilmitir.

ekil 4. 6.Kondansatrn dearj uygulamasna ait program blou

85

Programn iletilmesi sonucu R=2000 iin 0.0031 F deeri gzlenlenmitir.

dereri iinC=0,0016 F R=1000

ekil 4. 7.Kondansatrn dearj uygulamasna ait grafik kts

4.4. DYOT (DIODE) AKIMI UYGULAMASI Diyot'lar bir ynde akm geiren dier ynde akm geirmeyen devre elemanlardr. Anot ve Katot ularna sahiptir. Her zaman Anoduna art (+), Katoduna eksi (-) gerilim verildiinde iletime geer, tersi durumda yaltkandr. Bu zelliinden dolay AC gerilimi DC gerilime evirmek iin kondansatrler ile beraber kullanlan bir elemandr. Diyotlarn yap malzemeleri Germanyum veya Silisyumdur. Silisyum diyotlar doru ynde baland takdirde 0.7 volt civarnda iletime geerler geriye kalan gerilimi dorudan zerinden geirir. Germanyum diyot'lar ise 0.3-0.35 volt civarnda iletime geer. AC gerilimi DC gerilime evirmek iin silisyum diyot kullanlr. Ayrca voltaj ayarlamalarnda kullanlan zener diyotlar vardr ki bu diyotlar sabit bir voltaj deerinden fazlasn zerinden geirmez. Bu ekilde sabit ve kararl bir gerilime ihtiya duyan cihazlara gerekli gerilimi vermek amacyla zener diyotlar ile reglasyon devreleri yaplr. [13] ekil 4.8. de diyota ait genel gsterim verilmitir.

86

ekil 4. 8.Diyot genel gsterimi

Diyot zerinden geen akm veren forml denklem 4.9. da verilmitir. (4.8.) Denklem 4.8. da; Vd; diyot zerinde oluan gerilim (Volt) io; diyot zerinden geen sznt akm (Amper) K; boltzman sabiti (1,38x10-23 joule / Ko) q; diyot zerinden geen elektron yk T; scaklk (K) id; diyot zerinden akan akm (Amper)

4.4.1. Diyot akm uygulamasna dair algoritma: Uygulamann zm srasnda uygulanan algoritma (izlenen yol) aadaki gibidir. Deerler girilir. Gerilim vektr oluturulur. Scaklk vektr oluturulur. Scaklk vektr 70 Fo, 200 Fo- ve 400 Fo eklinde girilir. Oluturulan scaklk vektr Kelvin leine dndrlr. Diyot akm hesaplanr. ktlar grafik ekranna aktarlr.

87

4.4.2. Diyot akm uygulamasna dair program blou: Diyot akm uygulamasna ait program blou yukardaki algoritma dorultusunda Matlab ortamnda oluturulmu ve m-file olarak kaydedilmitir. Program blou arasnda satr boluklar kaldrlacaktr. [11] Program; i0=2e-4; %sznt akm k=1.38e-23; % Boltzmann sabiti (J/K) q=1.602e-19; % elektron yk C vd=-0.2:0.01:0.25;% diyot gerilimi (V) t_f=[75 200 400]; %Fahrenheit olarak scaklklar for ii=1:length(t_f) t_k=(5/9)*(t_f(ii)-32)+273.15; %scaklklarn kelvin leine dn. id=i0.*(exp((q*vd)/(k*t_k))-1); %diyot akm if ii ==1 plot(vd,id,'-o'); %iki boyutlu grafikler hold on; elseif ii ==2 plot(vd,id,'--'); elseif ii==3 plot(vd,id,':o'); hold off; end end legend('75 deg F','200 deg F', '400 deg F') grid on; title('Diyot akm'); xlabel('v_{D}'); ylabel('i_{D}');

Matlabda kullanlan komutlarn renk kodlarn grebilmek amacyla programn yazld editr penceresi ekil 4.9. da aada verilmitir. ekil 4.10 da ise programn iletilmesi sonucu diyot akmnn eitli scaklk deerlerinde deiimini gsteren grafik kts verilmitir.

88

ekil 4. 9.Diyot akm uygulamasna ait program blou

ekil 4. 10.Diyot akm uygulamasna ait grafik kts 89

4.5. DORU GERLMDE KONDANSATR AKIMI VE GERLM DEM UYGULAMASI Bobinin reaktans XL ve kondansatrn reaktans XC frekansa bal olarak deiirler. Bundan dolay RLC elemanlar kullanlarak oluturulan seri devrelerin empedanslar da frekansa bal olarak deiir. XL nin XC ye eit olduu frekans deerinde toplam empedansn imajiner ksm sfr olur. Bundan dolay bu frekans deerinde devrenin empedans reel ve minimumdur. Bylece devreden geen akm maksimum olacaktr. Bu durumda, sinzoidal iaretin periyodunun bir yarsnda bobinde veya kondansatrde depolanan enerji periyodun ikinci yarsnda kondansatr veya bobine aktarlr. Devredeki drt eleman (diren, indktr, kapasitans ve kaynak) seri bal olduklarndan hepsinin zerindeki akm ayndr. Genel durumda her devre elemanndaki voltaj farkl olacandan indktr, diren, kapasitans ve kaynan voltajlar deiik olacaktr.[15]

ekil 4. 11.Seri RLC devresi

(4.9.) (4.10.)

(4.11.)

(4.12.)

90

ekil 4.11.deki devreye doru gerilim uyguland zaman belli bir zaman sabiti sresinden sonra kondansatr doru akma ak devre zellii gstereceinden dolay devre akm sfra yaklaacaktr ve kondansatr ularndaki gerilim kaynak gerilimine eit olacaktr. (4.13.) olacaktr. Burada; Vs; kaynak gerilimi (Volt) Vc; kondansatr ularndaki gerilim (Volt) VL ; bobin ularndaki gerilim (Volt) VR; diren eleman ularndaki gerilim (Volt) IR; diren eleman akm (Amper) IL; bobinden geen akm (Amper) IC; kondansatrden geen akm (Amper)

Aada seri RLC devresine doru gerilim uyguland zaman kondansatr geriliminin ve devreden geen akmn deiimini veren, devre parametreleri E=2 V , R=40 , L=0.1 H, C=10-7 F iin program verilecektir. 4.5.1. Doru gerilimde seri RLC devresinde akm gerilim deiimi uygulamasna dair algoritma: Uygulamann zm srasnda uygulanan algoritma (izlenen yol) aadaki gibidir. Deikenler girilir. (devre gerilimi , eleman deerleri ) Devre zmnde kullanlacak olan gerilim , katsaylar (devre elemanlarnn karakterlerinden oluan) matrisleri yazlr. nceleme yaplan zaman vektr yazlr. Devredeki kondansatre ait akm ve gerilim deerleri girilen zaman vektr ile hesaplanr. k verileri ekrana ve grafik ekranna yazdrlr.

91

4.5.2. Doru gerilimde seri RLC devresinde akm gerilim deiimi uygulamasna dair program blou: Doru gerilimde seri RLC devresinde akm gerilim deiimi uygulamasna ait program blou yukardaki algoritma dorultusunda Matlab ortamnda oluturulmu ve m-file olarak kaydedilmitir. Program blou arasnda satr boluklar kaldrlacaktr. Program; E=2; R=40; %diren (ohm) L=0.1; %endktans (henry) C=10^-7; %kapasitans (farad) a = [0 1/C ;-1/L -R/L]; b = [0; E/L]; c = [1 0]; d = 0; x0 = [0 0]; t = 0:0.0001:0.01; %zaman vektr u = ones(1,length(t)); [cikis x] = lsim(a,b,c,d,u,t,x0); figure(1); plot(t,x(:,1)),xlabel('t'), ylabel('Vc(t)'), grid; title('seri R L C devresinde kapasita uclari arasindaki gerilim degisimi'); figure(2); plot(t,x(:,2)), xlabel('t'), ylabel('i(t)'), grid title('seri R L C devresinde akim degisimi'), disp([' t vc i']); disp([t',x]) ; Matlabda kullanlan komutlarn renk kodlarn grebilmek amacyla programn yazld editr penceresi ekil 4.12. de aada verilmitir.

92

ekil 4. 12.Doru gerilimde seri RLC devresinde akm gerilim deiimi uygulamasna ait program blou Programn yrtlmesi sonucu gzlemlenen grafikler ekil 4.13 ve 4.14 verilmitir.

93

ekil 4. 13.Doru gerilimde seri RLC devresinde akm gerilim deiimi uygulamasnda kapasite ular gerilim grafii

ekil 4.13. de grld gibi kapasite ularndaki gerilim belli bir zaman sabiti kadar sre (yaklak olarak 0.01 sn) sonra devre gerilimi olan 2V dzeyine dmektedir.

94

ekil 4. 14.Doru gerilimde seri RLC devresinde akm gerilim deiimi uygulamasnda akim deiimi grafii

4.6. BR KAYNAIN VEREBLECE MAKSMUM GC BULMA (MAKSMUM G TEOREM) UYGULAMASI dirence sahip herhangi bir kaynaktan bir yke maksimum g transferi yapabilmesi iin yk direncinin, kaynak i direncine eit olmaldr. Bu durum alternatif akm devrelerinde ise diren kavramnn yerini empedans kavram alarak yk empedans ile, kaynak i empedansnn kompleks elenii olmaldr. Buna maksimum g teoremi denir. ekil 4.15. de RL zerindeki gerilim; (4.14.)

Olarak elde edilir. Sabit bir kaynak ve deiken bir yk gz nne alndnda , yk direnci , kaynak i direncine gre ne kadar byk olursa yk direnci zerindeki o derecede yksek olacaktr. dealde yk direncinin sonsuz deerde olmas yani bir ak devrenin olmas tercih edilir. Bu durumda ; 95

(4.15.) olacaktr. Yk zerindeki akm ise ; (4.16.)

eklindedir. yeniden sabit bir kaynak ve deien yk direnci gz nne alnrsa, yk direnci, kaynak i direncine gre ne derece kk olursa burada oluan akm o derece byk olacaktr. Dolaysyla maksimum akm akmas iin ykn bir ksa devre olmas istenir. Bu durumda; (4.17.)

olacaktr. Yk zerinde oluacak g ise; (4.18.)

eklinde olacaktr. Verilen kaynak iin RS ve VS deerleri sabit olduundan dolay elde edilecek g sadece yk direncinin deiimine bal olarak deiecektir. Gerek maksimum gerilim (RL= olmal) gerekse de maksimum akm (RL=0) retebilmesi

iin gerekli artlar altnda elde edilebilecek g sfr olmaktadr. Dolaysyla yk direnci bu iki deeri altnda maksimum deerine getirelebilecei sylenebilir. Bu yk direnci deerinin bulunabilmesi iin gcn yk direncine gre trevi alnp sfra eitlendiinde yk direnci ile kaynak direnci birbirine eitlendiinde trev ifadesi sfr olmaktadr. Dolaysyla maksimum g RL=RS art altnda gereklemektedir. Bu durumda maksimum g; (4.19.)

olarak elde edilir.[15] Burada; RS; kaynak direnci (ohm) VS; kaynak gerilimi (Volt) RL; yk direnci (ohm) 96

VT; toplam gerilim (Volt) RT; toplam diren (Volt) Vmax; maksimum gerilim (Volt) Pmax; maksimum g (Watt) is; kaynak akm (amper)

ekil 4. 15.Maksimum g teoremine ait prensip emas Aada 10V gerilim deeri ile 10K i dirence sahip bir kaynan

retebilecei maksimum gcn veren program verilecektir. 4.6.1. Bir kaynan verebilecei maksimum gc (maksimum g teoremi) bulma uygulamasna ait algoritma: Uygulamann zm srasnda uygulanan algoritma (izlenen yol) aadaki gibidir. Deikenler girilir. Yk direncine ilikin diren vektr oluturulur. Kaynan retebilecei maksimum gler hesaplanr. ktlar ekrana ve grafik ekranna aktarlr. yk direncine gre

4.6.2. Bir kaynan verebilecei maksimum gc (maksimum g teoremi) bulma uygulamasna ait program blou: Bir kaynan verebilecei maksimum gc bulma uygulamasna ait program blou yukardaki algoritma dorultusunda Matlab ortamnda oluturulmu ve m-file olarak kaydedilmitir. Program blou arasnda satr boluklar kaldrlacaktr. Program;

97

% maximum g transferi vs = 10;% kaynak gerilimi rs = 10e3;% kaynak direnci rl = 0:1e3:50e3;% yk direnci k = length(rl); % yk direnci vektr % g hesab for i=1:k pl(i) = ((vs/(rs+rl(i)))^2)*rl(i);% ykte harcanan g end dp = diff(pl)./diff(rl); rld = rl(2:length(rl)); prod = dp(1:length(dp) - 1).*dp(2:length(dp)); crit_pt = rld(find(prod < 0)); mp = max(pl); %maksimum g hesaplanr % ktlar yazdrlr fprintf('Maksimum g iin kaynak direnci: %8.2f Ohms\n',crit_pt) fprintf('Maksimum g: %8.4f Watts\n', mp) plot(pl); grid on; title('maksimum g transferi') xlabel('Yk direnci (kohm)') ylabel('G (W)')

Matlabda kullanlan komutlarn renk kodlarn grebilmek amacyla programn yazld editr penceresi ekil 4.16. da aada verilmitir. Programn yrtlmesi sonucu gzlemlenen grafik ekil 4.17 de verilmitir. Grafikten de gzlemlendii zere 10V gerilime ve 10K i dirence sahip bir kaynan retebilecei maksimum g 0.0025 Watt olarak hesaplanmtr. Program blounda rs deikenini deitirmek suretiyle farkl i diren deerleri iin maksimm g deerleri grlebilir.

98

ekil 4. 16.Bir kaynan verebilecei maksimum gc (maksimum g teoremi) bulma uygulamasna ait program blou

ekil 4. 17.Bir kaynan verebilecei maksimum gc (maksimum g teoremi) bulma uygulamasna ait grafik ekran

99

4.7. ASENKRON MOTORUN BO ALIMA VE KISA DEVRE ALIMA PARAMETRELERN BULMA UYGULAMASI Asenkron makineler gnmzde en ok kullanlan motorlardr. Asenkron motorlar dier motorlara gre daha ok kullanlmasnn sebepleri daha ucuz olmas ve bakma ihtiya duymamasdr. Asenkron motorlar iki ksmdan oluur. Bunlar ; 1. Stator, asenkron motorun sabit ksmdr. 2. Rotor, asenkron motorun hareketli ksmna denir. Transformatrler gibi indklenme yasasna gre alrlar. indklenme yasasna gre dnen bir manyetik alan iinde bulunan iletkenlerde gerilim indklenir ve dnen bir manyetik alan ierisinde bulunan iletkenlerden akm geerse, iletkenler manyetik alan tarafndan itilirler. te bu yzde asenkron makinelere endksiyon makineleri denir. Asenkron makinelerde sarg direncinin bulunmas stator sarg direnleri yldz veya gen balanr. Sarg ularndan herhangi ikisine DC gerilim uygulanr. Uygulanan gerilim motorun tam yk akm deerine ulancaya kadar yava yava arttrlr ve akm gerilim deerleri llr. llen bu deerlere gre stator sargsnn bir faz DC direnci bulunur. Bulunan deer 1.1-1.5 gibi bir katsayyla arplarak AC diren hesaplanm olur.

ekil 4. 18.Sarg direnci llmesi Bota alma deneyinde motor anma deerlerinde altrlrlar. ekil 4.13. de grld gibi 3faz akm gerilimi ve toplam g llr. Bota alma deneyinde toplam g, stator demir kayplar, srtnme kayplar ve rzgar kayplarnn toplamn oluturur. Bota almada motorun devir says dner alann devrine yakn olduu iin yani ok az bir kayma olduu iin rotorun demir ve bakr kayplar ok kk olur. Bota almada motor kayplar transformatrdeki gibi hesaplanr. Yani

100

(4.20.) (4.21.) (4.22.) (4.23.) eklindedir. burada; Soc; bota durumdaki asenkron makinenin grnr gc Poc; bota durumdaki asenkron makinenin aktif gc Qoc; bota durumdaki asenkron makinenin reaktif gc Rfe; bota durumdaki asenkron makinede oluan demir kaybn meydana getiren diren Xm; Mknatslanma akmn oluturan reaktans deeri

ekil 4. 19.Asenkron makine bota alma deneyi balants Asenkron motorun ksa devre deneyinde ise ekil 4.14 deki devre kurulur. Makine statoru sabitlenerek dnmemesi salanr. Rotor kilitli olduundan stator sarglarndan geecek byk akmlar engellemek iin oto transformatrden motora sfrdan balayarak yava yava gerilim verilir.

101

Aadaki ekil 4.15. de asenkron makine ksa devre e deer devresi grlmektedir. ekilde grlcei gibi bu deneyde rotor dnmedii iin mekanik ve dner kayplar sfrdr. Ksa devre parametreleri aadaki formllerle hesaplanr. (4.24) (4.25.) (4.26.)

(4.27.)

(4.28.)

(4.29.) Burada; R1; stator tarafna ait diren R2; rotor tararna ait indirgenmi diren X1; stator tarafna ait reaktans X2: rotor tarafna ait indirgenmi reaktans

102

ekil 4. 20.Ksa devre deneyi balant emas

ekil 4. 21.Ksa devre parametreleri e deer devresi Asenkron makine sarg direncinin bulunmas bota alma deneyi ve ksa devre deneyinin sonucunda ekildeki edeer devre elde edilir. Edeer devrenin sa taraf rotoru sol taraf ise statoru gsterir. ekil 4.16.daki edeer devrede grlen ayarl diren rotor edeer devresindeki kaymayla deien omik direnci gsterir.

103

ekil 4. 22.Asenkron makineye ait edeer devre Stator ve rotor taraflarndan yazlan evrelerle aadaki formller elde edilir.[16] (4.30.) (4.31.) Burada; Us; stator gerilimi Er; rotor zerinde indklenene elektromotor kuvveti Es; stator zerinde indklenene elektromotor kuvveti Ur; rotor gerilimi Is; stator sarglarndan geen akm Ir; rotor zerinden geen akm Ls; stator indktans Lr; rotor indktans

4.7.1. Asenkron makine bota ve ksa devre parametreleri uygulamasna dair algoritma: Uygulamann zm srasnda uygulanan algoritma (izlenen yol) aadaki gibidir. 1. Deikenler tanmlanr. 2. Bota ve ksa devre parametreleri bulunur. 3. Sonular ekrana aktarlr.

104

4.7.2. Asemkron makine bota ve ksa devre parametreleri bulma uygulamasna dair program blou: Asenkron makine bota ve ksa devre parametreleri bulma uygulamasna ait program blou yukardaki algoritma dorultusunda Matlab ortamnda oluturulmu ve m-file olarak kaydedilmitir. Program blou arasnda satr boluklar kaldrlacaktr. Program; clc,clear all; r1=input('Stator faz bana direnci giriniz: '); disp('Asenkron motorun bo alma deneyinde alnan verileri giriniz...'); V0=input('V0: '); P0=input('P0: '); I0=input('I0: '); disp('Asenkron motorun ksa devre deneyinde alnan verileri giriniz: '); Vk=input('Vk: '); Pk=input('Pk: '); Ik=input('Ik: '); Psv=input('Srtnme ve vantilasyon kayplarn giriniz: '); S=input('Yzde olarak kaymay giriniz: '); t=P0/(sqrt(3)*V0*I0); q0=acos(t); Ife=I0*cos(q0); Im=I0*sin(q0); Pfe=P0-(3*I0*r1)-Psv; rfe=Pfe/(3*Ife^2); Qm=Pfe*tan(q0); xm=Qm/(3*Im^2); s=S/100; Zk=(Vk/sqrt(3))/Ik; rk=Pk/(3*Ik^2); r2a=rk-r1; xk=sqrt(Zk^2-rk^2); x1=xk/2; rya=r2a*(1-s)/s; disp(['Demir direnci zerinde harcanan g:', num2str(Pfe)]);disp('Watt'); disp(['Demir akm:', num2str(Ife)]);disp('Amper'); disp(['Mknatslanma akm:', num2str(Im)]);disp('Amper'); disp(['Demir direnci:', num2str(rfe)]);disp('ohm'); disp(['Mknatslanma reaktans:', num2str(xm)]);disp('ohm'); disp(['Ksa devre empedans:', num2str(Zk)]);disp('ohm'); disp(['Ksa devre direnci:', num2str(rk)]);disp('ohm'); disp(['Bileziklere baglanan direncin indirgenmi hali:', num2str(rya)]); disp('ohm');

Matlabda kullanlan komutlarn renk kodlarn grebilmek amacyla programn yazld editr penceresi ekil 4.23. da aada verilmitir.

105

ekil 4. 23.Asenkron makine bota ve ksa devre parametreleri bulma uygulamasna dair program blou Programn iletilmesi sonucu komut satrnda grntlenen veri girileri sonucu bir asenkron motora ait bota alma ve ksa devre parametreleri gzlenmektedir.

106

KAYNAKLAR

[1]

Yazgll , N.: Mhendislik nedir? Ynetimde mhendisliin nemi, stanbul Teknik niversitesi (2011), http://itubirlik.org.tr/wpcontent/uploads/t%C3%BCrkiyede-m%C3%BChendislik-nihat y%C3%BCz%C3%BCg%C3%BCll%C3%BC.pdf (17.04.2012).

[2]

Aydn ,.: Nesneye ynelik programlama, Btnleik modelleme dili, Trakya niversitesi (2011), Seminer notlar

[3]

Baylm ,C.: Modelleme ve simlayon teorisi ve uygulamalar, Sakarya niversitesi (2011), Ders notlar

[4]

R.Hunt B.; L.Lipsman R.;M.Rosenberg J.: A Guide to MATLAB, ,Cambridge University Press., New York, USA, (2000)

[5]

Yksel .: MATLAB ile mhendislik problemlerinin zm,Uluda niversitesi (1997),

[6]

nan ,A.: MATLAB Temel Seviye Semineri, Yldz Teknik niversitesi (2005), Seminer notlar

[7] [8]

Bouchekara, H.: Introduction to Matlab: Application to Electrical Engineering, PhD Thesis, Umm El Qura University, (2011) 7-69. ztrk O.: Matlab Matematik Programlama dili, niversitesi, (2000) 11-21, 43-63. Tekta M.: Diferansiyel denklemler ve elektrik Bch. Thesis, Gazi

[9]

elektronik

devre

uygulamalar,

Marmara niversitesi Teknik Eitim Fakltesi Matbaas,

stanbul, Trkiye, (2000) [10] Tekta M.:Uygulamal ntegral, Marmara niversitesi Teknik Eitim

Fakltesi Matbaas, stanbul, Trkiye, (2000) 9-13. [11] Gilat A.: MATLAB: An Introduction with Applications, Ed Material Co. (2003) 98-120 107

[12] [13] [14] [15] [16] [17]

Gney Y. , Okur .: Fizik 2 (Elektrik ve Manyetizma), Deiim yaynlar, Sakarya (2011) Trkz S.: Temel elektronik , Birsen Yaynevi (2009) Arifolu U.: Elektrik-Elektronik Mhendisliinin Temelleri-Alternatif Akm Devreleri-Cilt-II , Alfa Yaynlar, (2007) Arifolu U.: Elektrik-Elektronik Mhendisliinin Temelleri-Doru Akm Devreleri-Cilt-I , Alfa Yaynlar, (2008) olak .: Asenkron makineler , Sekin yaynevi, Ankara (2008) www.mathworks.com Eriim Tarihi: Ocak 2012.

108

You might also like