You are on page 1of 27

MATLAB de

Programlama

Yrd. Do. Dr. Blent AKMAK


Elektronik ve Haberleme
Mhendislii

Teekkr: MATLAB ders notlarnn hazrlanmasnda emeklerinden dolay Yrd.


Do. Dr rfan KAYMAZ ve Yrd. Do. Dr. Mustafa YAMANa teekkr ederim.

Matlab Ders Notlar


KAYNAKLAR

1. * MATLAB, mer Gndodu, Osman Kopmaz, M. Akif Ceviz, Paradigma


Akademi, 2003.
2. * MATLAB ve Programlama, Dr. Aslan nan, Papatya yaynlar, 2004.
3. * MATLAB 6.5, A. Emre etin, Alfa Yaynlar, 2003.
4. * MATLAB ile Mhendislik Sistemlerinin Analizi ve zm, brahim
Yksel, Vipa, 2000.
5. Her yn ile MATLAB, Mehmet Uzunolu, mer alar Onar, Ali Kzl,
Trkmen Kitabevi, 2003.
6. MATLAB ile Mhendislik Sistemlerinin Analizi, Uur Arifolu, Alfa Yaynlar,
2003.

* Erzurumda bulunabilecek kaynaklar


Matlab Ders Notlar
Dersin erii
1. HAFTA ( 8-14 Mart) Bilgisayar Programlama dilleri ve tarihi
geliimi,
Algoritma hazrlama
2. HAFTA ( 15-21 Mart) Ak diyagramlar hazrlama (1. QUIZ)
3. HAFTA ( 21-27 Mart) MATLAB programlama ortamnn tantm
Bilgi trleri, Sabitler, Deikenler
Deiken trlerinin programda tantlmas
Aritmetik ilemler, Aktarma deyimleri,

5. HAFTA ( 28 Mart- 2 Nisan) Giri- k deyimleri (2. QUIZ)


6. HAFTA ( 3- 9 Nisan) evrim yaplar
7. HAFTA ( 9-13 Nisan) Kontrol deyimleri
8. HAFTA ( 14-20 Nisan) Kontrol deyimleri (3. QUIZ)
9. HAFTA ( 21-27 Nisan) Dizin kavram
10. HAFTA ( 28 Nisan-4 Mays) Fonksiyonlar
11. HAFTA ( 5-11 Mays) Dosya ynetimi
12. HAFTA ( 12-18 Mays) Hazr fonksiyonlar ve kullanm
13. HAFTA ( 19-25 Mays) Hazr fonksiyonlar ve kullanm (4. QUIZ)
14. HAFTA ( 26-31 Mays) Grafik izme

MATLAB Ders Notlar


http://lecture.eingang.org/toc.html
Bilgisayarn ksa tarihesi
Bilinen en eski hesaplama cihazlarndan biri 4-5 bin yl ncesine kadar giden ve
binlerce yl hesaplamada kullanld bilinen ABAKS tr. lk mekanik hesap makinesi
ise 1642 ylnda bir Fransz dnr ve matematikisi olan Blaise PASCAL (Not: 1980li
yllarda gelitirilen Pascal programlama dili onun adna ithaf edilmitir) tarafndan icat
edilmitir. Pascaln toplama ve karma yapan bu tasarm 1960l yllara dek ou
mekanik hesaplama kaninesinde kullanlmtr. Bu tasarm, 1673de Gottfried ve Leibnitz
tarafndan gelitirilerek hem drt ilem yaplabilir hem de karekk alnabilir dzeye
ulatrlmtr.
1850li yllarda ngilterede Cambridge niversitesinde bir matematik profesr olan
Charles BABBAGE, difference engine (fark makinesi) adn verdii basit bir modelle baz
denklemlerin daha kolay ve doru zlebileceini gstermitir. lkemizde de 1970li
yllarn sonlarna kadar kullanlan delinmi kartlarn kefi Fransz Jacguard tarafndan
yaplm ve bunlarn veri ileme ortam olarak kullanlmaya balanmas 1890l yllarda
Amerikada olmutur. 1896da ABDde Hollreithin kurduu tabulating machine company
dier baz firmalaral birleerek International Business Machines (IBM) corporation
firmasn ekirdeini oluturmutur.
lk elektronik saysal (digital) bilgisayar 1942de ABDde retilmi (Iowa State
College) ve akabinde cu cihaz Pennsylvania nivesitesinden Dr. Mauchly ve Ecbert
tarafndan gelitirilerek 1946da ENIAC (Electronic Numerical Integrator And Calculator:
Elektronik Saysal Integral Alma ve Hesaplama Makinesi) denilen makina retilmitir. lk
genel amal elektronik saysal bilgisayar olan ENIAC 30 ton arla, 140 m2lik alana,
18.000 adet tpe sahipti. 1946l yllarda transistrn kefi ile ok byk yer kalayan
elektronil tplerin kullanm ortadan kalkm ve 1950li yllardaki gelimeler bilgisayar
an balatm ve bu alandaki teknoloji gnmze dek byk bir hzla ilerleme
kaydetmitir.
MATLAB Ders Notlari
Bilgisayar Nedir?

Bilgisayar, ok byk miktarlardaki (gigabytelar ve zeri) datay (bilgiyi) ok


kk ortamlarda saklayabilen ve bu veriler zerinde ilemleri ok hzl olarak
(saniyenin milyonda hatta milyarda biri mertebesinde) gerekletirebilen bir
cihazdr. Balca iki ana blme ayrlr:

DONANIM (HARDWARE): Bilgisayarin fiziksel bileenlerinin tmdr


YAZILIM (SOFTWARE): Donanm oluturan bileenlerin almasn ve
ilevlerini yerine getirmesini salayan programlar kmesidir.

Bilgisayarda Problem Tanm ve zm


Problem Nedir?

Bir ilemin, otomasyonun yada bilimsel hesaplamann bilgisayarla


zlmesi fikrinin ortaya kmasna problem denir. Bu tip fikirlerde
insanlarn bu sorunlar beyinle zmeleri ya imkanszdr ya da ok zor
ve zaman alcdr. Bu tip bir sorunu bilgisayarla zebilme fikrinin ortaya
kmas bir bilgisayar probleminin ortaya kmasna neden olmutur.

MATLAB Ders Notlari


PROBLEM ZM AAMALARI

Sistem Analizi : Sorunun zlebilmesi iin sistemin tamamen anlalmasn salayan


almalardr.
Tasarm : steklerle ilgili olarak belirlenen bir takm zmlerin tanmlanmasdr.
Algoritma : zmn admlarla ifade edilmesidir.
Ak izgesi : Algoritmann ekillerle ifade edilmesidir.
Programlama Dili Seimi : zmn netlemesinden sonra yaplacak ilemleri kolay
bir ekilde bilgisayar ortamna aktaracak dilin seilmesidir.
Programn Yazlmas : Seilen Programlama dilinin kurallar kullanlarak program
yazlmaya balanr.
Derleme : Programlama Dili ile yazlm programn yazm hatalarnn olup olmadnn
kontrol edilmesini ve ara kod olarak Obje kodun retilmesini salama admdr.
Balama : Derlenmi ara kod dier ktphane ve para programlarla birletirilerek
Makine dilinde programn oluturulmas admdr.
altrma : Oluturulan Makine dili Programnn altrlmas admdr.
Test : Programn Mantksal olarak test edilmesini salar ve ierik olarak her ihtimal iin
doru sonular retip retmediini kontrol etmenizi salar.

MATLAB Ders Notlari


Program Nedir?

Problem zm ksmnda anlatlan admlar uygulandktan sonra


ortaya kan ve sorunumuzu bilgisayar ortamnda zen rne Program
denir. Baz durumlarda bu rne yazlm denebilir.

Programlama Nedir?

Problem zmnde anlatlan admlarn tmne birden


programlama denilebilir. ounlukla ok iyi tanmlanm bir sorunun
zmne dair admlar ile zmn oluturulup bunun bir programlama dili
ile bilgisayar ortamna aktarlmas Programlama diye adlandrlabilir.

MATLAB Ders Notlar


Programlama Dili (Programing Language) Nedir?

Bir Problemin Algoritmik zmnn Bilgisayara anlatlmasn salayan


kurallar dizisidir.
Baz programlama dilleri:
C, C++, Delphi, Pascal, Visual Basic, Fox Pro, Java, Lisp, C#
Bu dillerden en yaygn kullanlanlar Delphi ve Visual Basic dilleridir.

Bir dilin stnlnn parametreleri:

Kullanlabilirlii,
Geliim hz,
htiyaca kolay cevap vermesi,
letim sistemi ile uyum seviyesi,
Esnek olmas,
letim sisteminden bamsz olmas ,
Derleme ileminin hzl olmas,
Az yer kaplamas,
Sistemi optimum kullanmas

MATLAB Ders Notlari


PROGRAMLAMA DLLER

Dk Seviyeli Diller Yksek Seviyeli Diller

Makine Dili

Assembly Grsel Diller Grsel Olmayan Diller

C
Visualbasic

Delphi Fortran

Html Cobol

Java C++

Visual C Qbasic

MATLAB
Turbo pascal

MATLAB Ders Notlari


DK SEVYEL PROGRAMLAMA DLLER

Makine Dili

Makine Dili 0 ve 1 den oluan bir dildir ve bilgisayarn anlad yegane dildir. Bu
dili direkt kullanmak iin hem komutlarn saysal karlklar ve hem de bilgisayarn
bellek adreslemesinide bilmek gerekmektedir. Bu tip dillere dk dzey dili (Low
Level Language) ad verilir.

Assembly (simgesel) dili:

kili say sisteminde yazlm olan komutlar harfli sembollerle ifade ederek retilen bir
dildir. ADD, LDA ve STA gibi

Assembler: Assembly dilini makine diline evirir.

MATLAB Ders Notlar


HER PROGRAMLAMA DLNN BR DERLEYCS YA DA
YORUMLAYICISI VARDIR

Derleyici (Compiler) Nedir?

Bir programlama dili ile bilgisayara aktarlan programn bilgisayarn


anlayabilecei Makine Diline evirmeyi salayan ve yazlan programda sz dizim
hatalarnn olup olmadn bulan yazlmlardr. Her Programlama dili iin bir
derleyici olmas gerekmektedir. C, PASCAL, COBOL, DELPHI vs. derleyicisi
olan yksek seviyeli dillerdir.
AMA IKTI
PROGRAM DERLEYC PROGRAM

Yorumlayc (Interpreter) Nedir?


Yorumlayclar, (Interpreter) yazlan programlar makine diline dntren yazlmlardr.
Ancak bu dnm, derleyiciden farkl olarak gerekletirilmektedir. Yorumlayclar her
satr annda makine diline evirerek alr ve bu kodu bir dosyaya kaydetmez.
Dolaysyla program her altrldnda her satr yeniden makine koduna dntrlr.
Bu yzden yorumlayclar yava almaktadr. VISUAL BASIC ve MATLAB yorumlaycs
olan yksek seviyeli dillerdir.

PROGRAM YORUMLAYICI IKTI


YER

MATLAB Ders Notlar


Bilgisayar Programlamann tarihesi

MATLAB Ders Notlar


Algoritma Nedir?

Bir sorunu zebilmek iin gerekli olan sral mantksal admlarn tmne
denir. Doal dille yazlabilecei iin fazlaca formal deildir.

zm iin yaplmas gereken ilemler hibir alternatif yoruma izin


vermeksizin szel olarak ifade edilir.

Bir algoritma iin aadaki ifadelerin mutlaka dorulanmas


gereklidir.
Her adm son derece belirleyici olmaldr. Hi bir ey ansa bal
deildir.
Belirli bir sayda adm sonunda algoritma sonlanmaldr.
Algoritmalar karlalabilecek tm ihtimalleri ele alabilecek kadar
genel olmaldr.

MATLAB Ders Notlar


rnek 1: Verilen iki saynn toplamnn bulunmasnn algoritmas
aadaki gibi yazlr:

Algoritma:

A1 :X degerini gir

A2 :Y degerini gir

A3 :Z= X+Y

A4 :Z' yi yaz

A5 :Bitir

Algoritmaya dikkat edilirse ilemlerin sralanmasnda,ilem


nceliklerinin gznnde bulundurulduu grlr.

MATLAB Ders Notlar


rnek 2: apraz dviz kuru hesabi yapan programn algoritmasnn
oluturulmas. Bu algoritmann oluumunda veriler; 1 Amerikan dolarnn TL
karl, hesaplanacak $ miktar, k ise verilen $'in TL karl olacaktr.
Dolarn deeri :Doldeg, Girilen Dolar Miktar :Dolar, TL karl :Tlkar.

Algoritma:

A1 :Doldeg'i gir

A2 :Doldeg<0 ise 1. adm tekrarla

A3 :Dolar'i gir

A4 :Dolar<0 ise 3.adm tekrarla

A5 :Tlkar=Doldeg*Dolar

A6 :Tlkar degerini yaz

A7 :Bitir

MATLAB Ders Notlar


rnek 3: Verilen bir saynn faktriyelini hesaplayan programn algoritmasnn
oluturulmas
Deikenler:
Saynn faktriyeli : Fak , Faktriyel deikeni :X , Faktriyeli hesaplanacak say :Y

Algoritma:

A1 :Fak =1, X=0

A2 :Y'i gir

A3 :Y<0 ise 2. adimi tekrarla

A4 : X =X+1

A5 :Fak=Fak*X

A6 :X<Y ise 4. adma geri dn

A7 :Fak degerini yaz

A8 :Bitir

MATLAB Ders Notlar


rnek 4: Verilen iki saynn ortalamasnn hesaplanmas.

Algoritma:

A1 :X deerini gir

A2 :Y deerini gir

A3 :Z = X+Y

A4 :Ort= Z/2

A5 :Ort degerini yaz

A6 :Bitir

MATLAB Ders Notlar


rnek 5: Kenar uzunluklar verilen dikdrtgenin alan hesabini yapan programa
ait algoritmann hazrlanmas. Kenar uzunluklar negatif olarak girildii
durumda veri girii tekrarlanacaktr.

Deikenler:
Dikdrtgenin ksa kenar : a, Dikdrtgenin uzun kenar : b,
Dikdrtgenin alan : Alan

Algoritma:

A1 :a degerini gir

A2 :a<0 ise 1. adm tekrarla

A3 :b degerini gir

A4 : b<0 ise 3. adm tekrarla

A5 :Alan = a*b

A6 :Alan degerini yaz

A7 :Bitir

MATLAB Ders Notlar


Ak Diyagramlar
Ak diyagramlar (Flow Charts):Herhangi bir sorunun zm iin
izlenecek yol anlamna gelmektedir. Ak diyagramlar, algoritmalarn
sembolik olarak gsterimidir. Bilgisayarda gerekletirilecek her tr aksiyon
ayr bir sembolle gsterilir.

MATLAB Ders Notlar


Tekrarl lemler

MATLAB Ders Notlar


Karar Verme Yaps

MATLAB Ders Notlar


rnek 6: 1'den 100'e kadar olan saylarn toplamlarn
ve ortalamalarn veren programn aks diyagramn iziniz.

MATLAB Ders Notlar


rnek 7: Ax+b=0 seklinde verilen 1.derece denklemin
zmn veren programa ait ak diyagramn iziniz.

MATLAB Ders Notlar


rnek 8: 1' den 100'e kadar saylarn karelerini,
karekklerini, kplerini, kpkklerini toplamlarn ve
ortalamalarn veren programin aks diyagramn
iziniz.

MATLAB Ders Notlar


rnek 9: F(x) fonksiyonunun degeri X'in
ald deerlere gre asada verilmitir. X'in
deeri 0-10 arasn da 0.5 aralklarla
arttna gre her bir X degeri iin F(x)
fonksiyonunu hesaplayan programn akis
diyagramn iziniz.
0< X < 2 f(x)= X
2< X < 3 f(x)=X -X3 -22
3< X <4 f(x)=X2 -2X+13
4< X f(x)=X4 -3X2 -43

MATLAB Ders Notlar


dev:
Dardan girilen 3 saydan en byn bulan
programn Algoritmasn ve Ak diyagramlarn
oluturunuz.

MATLAB Ders Notlar