Transcript MATLAB

Bilgisayar Programlama
(Yrd. Doç. Dr. İbrahim ASRİ)
Kaynak; T.Aydın(Ata.Ü.), T.Bayrak(G.Ü.)
1
Algoritma Nedir?
 Belirli bir problemi cozmek icin isletilmesi gereken
adimlari ve bu adimlarin hangi sira ile uygulanacagini
belirleyen prosedure algoritma denir.
 “Isine gitmek uzere uyanan birinin yapmasi gereken
isler” algoritmasi:
1. Yataktan kalk
2. Pijamalarini cikar
3. Dus al
4. Elbiselerini giy
5. Kahvaltini yap
6. Arabana bin ve ise git
 Sira onemli. 3 ve 4 nolu adimlar yer degistirse
mesela? (Kim islanmak ister? )
2
PROBLEM ÇÖZÜM AŞAMALARI
Analiz
Algoritma
Akış Şeması
Programlama Dili Seçimi
Programın Yazılması
Derleme
Çalıştırma
Test
3
PROBLEM ÇÖZÜM AŞAMALARI (devam)
Analiz : Sorunun çözülebilmesi için problemin
tamamen anlaşılmasını sağlayan ön çalışmalardır.
Algoritma : Çözümün adımlarla ifade edilmesidir.
Akış Şeması : Algoritmanın şekillerle ifade edilmesidir.
Programlama Dili Seçimi : Çözümün netleşmesinden
sonra yapılacak işlemleri kolay bir şekilde bilgisayar
ortamına aktaracak dilin seçilmesidir.
4
PROBLEM ÇÖZÜM AŞAMALARI (devam)
Programın Yazılması : Seçilen Programlama dilinin
kuralları kullanılarak program yazılmaya başlanır.
Derleme : Programlama Dili ile yazılmış programın
yazım hatalarının olup olmadığı kontrol edilir ve
program makina dili komutlarina cevrilir.
Çalıştırma : Isletim sistemi derlenmis programi hard
diskten alir ve bellege tasir. Programın ilk komutunun
adresi CPU ya bildirilir ve program calismaya baslar.
Test : Programın mantıksal olarak test edilmesini
sağlar ve içerik olarak her ihtimal için doğru sonuçlar
üretip üretmediği kontrol edilir.
5
Programlama Dili (Programming Language)
Nedir?
Bir Problemin Algoritmik çözümünün bilgisayarda
yazılmasını sağlayan yapılardır.
Bazı programlama dilleri:
• MATLAB, C, C++,
• Delphi, Pascal, Visual Basic,
• Java, Lisp, C#
6
Bir dilin üstünlüğünün parametreleri:
 Kullanılabilirliği,
 Gelişim hızı,
 İhtiyaca kolay cevap vermesi,
 İşletim sistemi ile uyum seviyesi,
 Derleme işleminin hızlı olması,
 Az yer kaplaması,
 Sistemi optimum kullanması…
7
PROGRAMLAMA DİLLERİ
DüŞük Seviyeli Diller
Yüksek Seviyeli Diller
Makine Dili
Assembly
Görsel Diller
Visualbasic
Görsel Olmayan Diller
C
Html
Cobol
Delphi
Fortran
Java
C++
Visual C
Qbasic
MATLAB
Turbo pascal
8
DÜŞÜK SEVİYELİ PROGRAMLAMA
DİLLERİ
 Makine Dili
 Makine Dili 0 ve 1 den oluşan bir dildir,
 Bilgisayarın anladığı yegane dildir,
 Bu dili direkt kullanmak için hem komutların sayısal
karşılıkları ve hem de bilgisayarın bellek
adreslemesini bilmek gerekmektedir.
 Assembly (simgesel) dili:
İkili sayı sisteminde yazılmış olan komutları harfli
sembollerle ifade ederek üretilen bir dildir. ADD,
MOVE gibi…
9
DÜŞÜK SEVİYELİ PROGRAMLAMA
DİLLERİ
 Her programlama dilinin, yazılan programı
makine diline çeviren bir derleyicisi ya da
yorumlayıcısı vardır.
10
DERLEYİCİ ve YORUMLAYICILAR
Derleyici (Compiler) Nedir?
“Bir programlama dili ile
bilgisayara
aktarılan
programın bilgisayarın anlayabileceği Makine Diline
çevrilmesini sağlayan ve yazılan programda söz
dizim hatalarının olup olmadığını bulan yazılımlardır.”
• Her Programlama dili için bir derleyici olması
gerekmektedir.
• C, PASCAL, COBOL, DELPHI derleyicisi olan
yüksek seviyeli dillerdir.
PROGRAM
DERLEYİCİ
AMAÇ
PROGRAM
ÇIKTI
11
Yorumlayıcı (Interpreter) Nedir?
“Yorumlayıcılar (Interpreter), yazılan programları makine diline
dönüştüren yazılımlardır.”
• Ancak
bu
dönüşüm,
derleyiciden
farklı
olarak
gerçekleştirilmektedir.
• Yorumlayıcılar her satırı anında makine diline çevirerek çalışır
ve dolayısıyla program her çalıştırıldığında her satır yeniden
makine koduna dönüştürülür.
•Bu yüzden yorumlayıcılar yavaş çalışmaktadır. VISUAL BASIC
ve MATLAB yorumlayıcısı olan yüksek seviyeli dillerdir.
PROGRAM
YORUMLAYICI
ÇIKTI
12
Programlama dillerinde işlemler
Bilgisayar programları ile gerçekleştirilen
işlemler genel olarak üç gruba ayrılır:
• Matematiksel (aritmetik) işlemler
• Karşılaştırma işlemleri
• Mantıksal (lojik) işlemler
13
Programlama dillerinde işlemler (devam)
• Matematiksel (aritmetik) işlemler: Bilgisayarda en sık kullanılan işlemler
Matematiksel işlemlerdir.
Temel aritmetik işlemler (toplama, çıkarma, çarpma, bölme), matematiksel
fonksiyonlar (üstel, logaritmik, trigonometrik, hiperbolik vs.) bu gruba
dahildir.
Aşağıdaki tabloda matematiksel işlemlerin bilgisayar dilindeki karşılıkları
verilmektedir.
İşlem
Sembol
Örnek
Toplama,
a+b
+
2+3
Çıkarma,
a-b
-
5-2
Çarpma,
a.b veya axb
*
3*4
/
14/7
Bölme, a/b veya
a
b
Üs alma,
ab
^
2^3
Parantez
a*(b+c)
()
2*(3+5)
14
Matematiksel işlemlerde öncelik hakkı:
Tek bir matematiksel deyim içinde birden fazla işlem bir arada
bulunabildiğine göre hangi işlemin öncelik hakkına sahip olduğunun
bilinmesi yerinde olacaktır.
Aşağıda işlemlerin öncelik listesi verilmiştir.
Öncelik
1.
2.
3.
4.
İşlem
Parantez
Üs alma, soldan sağa doğru
Çarpma ve bölme, soldan sağa doğru
Toplama ve çıkarma, soldan sağa doğru
Örnek: a=4, b=6, c=8 ve d=10 değerleri için;
İfade
Sonuç
c*d/(a*d)+b+c*d/a
28
c*d/a*d+b+c*d/a
226
c*d/a*d+(b+c)*d/a
235
15
Örnekler:
Matematiksel yazılım
Bilgisayarda yazılımı
ab-c+d-6+da
a*b-c+d-6+d*a
b+c3-d/8-b2c
b+c^3-d/8-b^2*c
a
2ab
 c 3  bd 2  2
b
b  4ac
(b  c 2 ).3 f
a
e f
d 
3a
3
a
Soru:
x
3
a / b  c (3 / 2)  b * d  2  (2 * a * b) /(b 2  4 * a * c)
???
c
ba
1  c2 
a  b4
b  5 cd 3
4
a
 (ac) 3 
2
a a
İşlemini bilgisayar diline kodlayınız
16
• Karşılaştırma
İşlemleri:
Bilgisayarlar temel matematiksel
işlemlerin yanında karar modelleri de üretebilir. Yani iki büyüklükten
hangisinin büyük ya da küçük olduğu ya da birbirine eşit olup
olmadığı gibi konularda karar verebilir. Bu karşılaştırma işlemleri
nümerik ya da alfanümerik olabilir.
Aşağıdaki tabloda karşılaştırma işlemselleri gösterilmiştir:
İşlem sembolü
Anlamı
= veya = =
<> veya !=
>
Eşittir
<
>=
<=
Eşit değildir
Büyüktür
Küçüktür
Büyük eşittir
Küçük eşittir
17
Mantıksal (lojik) İşlemler:
Bilgisayar temel mantık (VE, VEYA,
DEĞİL) işlemlerini de yapabilmektedir.
Aşağıdaki tabloda karşılaştırma işlemleri gösterilmiştir:
Mantıksal İşlem
Komut
VE
AND
VEYA
OR
DEĞİL
NOT
Aşağıdaki tabloda ise mantıksal işlem sonuçları gösterilmiştir:
Sonuç
Bilgisayar dili
Doğru (1)
Yanlış (0)
True
False
18
Örnek: Bir işyerinde çalışan işçiler arasından yalnızca yaşı 30’un
üzerinde ve asgari ücret alanların isimlerinin ekrana yazılması istenmiş
olsun.
Burada iki şart vardır ve bu iki şartın da doğru olması gerekir. Yani;
Eğer (yaş>30 VE maaş=asgari ücret) ise ekrana “kişinin ismini” yaz.
Yukarıdaki işlem sonucunda bilgisayar, her iki şartı da sağlayan
kişinin adını ekrana yazar.
Soru: Bir sınıfta “matematik” dersinden 50’nin üzerinde alıp,
“bilgisayar” veya “fizik” derslerinin herhangi birinden 60’ın üzerinde
not alanların isimlerinin bulunması isteniyor. Buna göre uygun olan
ifadeyi yazınız.
19
Algoritma Kavramına Geri Dönüş
• Bir sorunu çözebilmek için gerekli olan sıralı
mantıksal adımların tümüne algoritma denir.
• Yani algoritma, işlemleri yaptırabilmek için
bilgisayara öğretilen işlem basamaklarıdır.
• Doğal dille yazılabileceği için fazlaca formal
değildir.
• Çözüm için yapılması gereken işlemler hiçbir
alternatif yoruma izin vermeksizin sözel olarak ifade
edilir.
20
Bir algoritma için aşağıdaki ifadelerin mutlaka
doğrulanması gereklidir.
• Her adım son derece belirleyici olmalıdır.
• Hiç bir şey şansa bağlı değildir.
• Belirli bir sayıda adım sonunda algoritma
sonlanmalıdır.
• Algoritmalar karşılaşılabilecek tüm
ihtimalleri ele alabilecek kadar genel olmalıdır.
21
Algoritma ve programlamada kullanılan
Temel Kavramlar
Algoritma ve programlama dillerinde standart hale gelen terimler
şunlardır:
1- Değişken : Bir program içerisinde bilgileri tutmak, bu bilgiler
üzerinde işlem yapmak için değişkenlerden yararlanılır.
Matematiksel olarak ifade etmeye çalışırsak;
Denklemlerde karşımıza çıkan c= a+b ifadesi bizim denklemimiz ve
buradaki "a","b" ve "c" ise bizim değişkenlerimizdir. a, b’ ye
girdiğimiz değerlere göre c değişkeni bir değere kavuşacak ve
işlem sonuçlanacaktır.
22
Algoritma ve programlamada kullanılan
Temel Kavramlar-3
2- Aktarma: Herhangi bir değişkenin içine bir değeri veya ifadenin/işlemin
sonucunu gönderme işlemidir.
değişken = ifade
Satırında ‘değişken’ yazan kısım, herhangi bir değişkenin adıdır. ‘ifade’ yazan
kısımda ise matematiksel, mantıksal veya alfa nümerik ifade olabilir. Aradaki
‘=‘ sembolü, ‘aktarma operatörü’ olarak adlandırılır ve sağdaki ifadenin/işlemin
sonucunu soldaki değişkene aktarır. Bu durumda değişkenin -eğer varsa- bir
önceki değeri (eski değeri) silinir.
X=3
Y=5+X
işleminin sonucunda Y’nin bir onceki degeri silinerek yerine 8 değeri yazılır.
23
Algoritma ve programlamada kullanılan
Temel Kavramlar (devam)
3- Fonksiyon : Giriş parametrelerini belli bir işlemden geçirdikten
sonra, geriye çıkış parametrelerini döndüren işlevlere fonksiyon denir.
Değişkenler, fonksiyonların vazgeçilmez elemanlarıdır.
Örnek:
Değişkenlerimiz olan a ve b şu değerleri alsın: a=1 ve b=2 ;
Fonksiyonumuz ise f(a,b) = a+b olsun.
Son olarak, c=f(a,b) olsun.
O zaman a=1 ve b=2 için c = 1 + 2 = 3 olur
Burada "a","b" değişkenini girerek ve “f(a,b)" fonksiyonunu
kullanarak "c" değişkeninin değerini buluyoruz.
24
Örnek 1: Dışarıdan girilen iki sayının toplamını bulan programın
algoritması aşağıdaki gibi kurulur:
Algoritma:
A1 : Başla
A2 : X değerini gir
A3 : Y değerini gir
A4 : Z= X+Y
A5 : Z' yi yaz
A6 : Bitir
25
Örnek 2: Dışarıdan girilen 3 sayıdan en büyüğünü bulan algoritmayı kurunuz.
Algoritma:
A1 : Başla
A2 : A, B ve C sayılarını dışarıdan giriniz
A3 : enbüyük=A
A4 : Eğer B > enbüyük ise enbüyük=B
A5 : Eğer C >enbüyük ise enbüyük=C
A6 : enbüyük değerini yaz
A7 : Bitir
26
Örnek 3: Kenar Uzunlukları dışardan girilen bir ABC üçgenini kenarlarına göre
inceleyen programın algoritmasını kurunuz.
A1: Başla
A2: A,B,C değerlerini gir
A3: A=B ise A4’e git değilse A5’e git
A4: B=C ise A6’ya git değilse A8’e git
A5: A=C ise A8’e git değilse A7’e git
A6: ‘Üçgen Eşkenardır’ yazdir ve A10’a git
A7: B=C ise A8’e git, değilse A9’a git
A8: ‘Üçgen İkizkenardır’ yazdir ve A10’a git
A9: ‘Üçgen Çeşitkenardır’ yazdir
A10: Bitir
27
UYGULAMA: Ax2+Bx+C=0 ile tanimlanan ikinci derece
denklemin köklerini hesaplayan algoritmayı gelistiriniz.
28
UYGULAMA: Dışardan girilen r yarıçapı için
bir çemberin çevresini ve dairenin alanını
bulan programın algoritmasını gelistiriniz.
29
Algoritma ve programlamada kullanılan
Temel Kavramlar-4
4- Sayaç : Programlarda; bazı işlemlerin belirli
sayılarda yaptırılması veya işlenen/üretilen değerlerin
sayılması gerekebilir.
Örneğin: Klavyeden girilen bir cümlede kaç sesli harf
olduğunu bulan programda, cümlenin her harfi sırayla
çağırılır ve sesli harfler kümesine ait olup olmadığı
araştırılır.Eğer sıradaki çağırılan harf bu kümeye ait ise
bunları sayacak olan değişkenin değeri bir arttırılır.
30
Algoritma ve programlamada kullanılan
Temel Kavramlar
sayac = sayac + 1
Şeklindeki işlemde sağdaki ifadede
değişkenin eski(önceki) değerine ‘1’ eklenmekte;
bulunan sonuç yine kendisine, yeni değer olarak
aktarılmaktadır.Bu tür sayma işlemlerine,
algoritmada “sayaç” veya “sayıcı” (counter) adı
verilir.Yani “sayaç”; işlem akışı kendisine her
geldiğinde,belirtilen adım değeri kadar
artan/azalan değişkendir.
31
‘Sayaç’ olayına örnek:
sayac=sayac+3
Üçer üçer artan bir sayıcıdır
sayac=sayac-5
Beşer beşer azalan bir sayıcıdır
Örnek: Aşağıdaki algoritmada 1-5 arası sayılar, sayaç
kullanılarak ekrana yazdırılmaktadır. Burada, sayac : sayaç
değişkenidir.
A1: Başla
A2: sayac=0
A3: sayac=sayac+1
A4 : Eğer sayac > 5 ise adım 7 ye git
A5: Yaz sayac
A6: 3.adım’ a git
A7: Bitir
32
Algoritma ve Programlamada Kullanılan
Temel Kavramlar
5- Döngü : Birçok programda,bazı işlemler belirli
ardışık değerlerle gerçekleştirilmekte veya belirli sayıda
yapılmaktadır. Programlardaki belirli işlem bloklarını,
verilen sayıda gerçekleştiren işlem akış çevrimlerine
döngü denir. Döngüler genelde sayaç kullanırlar.
Örneğin 1 ile 100 arasındaki tek sayıların toplamını
toplam=1+3+5+…+99 gibi uzun uzadıya yazmak yerine
1 ile 100 arasında ikişer ikişer artan bir döngü açariz ve
döngü değişkenini ardışıl toplariz.
33
Döngü Oluşturma Kuralları:
1- Döngü değişkenine başlangıç değeri verilir.
2- Döngünün artma veya azalma miktarı belirlenir.
3- Döngünün bitiş değeri belirlenir.
4- Döngü değişkeni, döngü içinde adım miktarı kadar
artırılir yada azaltılir. Böylece döngü sayısı ortaya çıkar.
34
‘Döngü’ Kavramina Ornek:
Örnek: Aşağıdaki algoritmada 1-10 arası tek sayıların toplamı
hesaplanmaktadır. (Cift sayilarin toplamina asagidaki algoritmayi hangi
degisikligi yaparak donusturebilirsiniz?)
A1: Başla
A2: toplam=0
A3: sayac=1
A4: Eğer sayac>10 ise adım 8 e git
A5: toplam=toplam+sayac
Döngü
A6: sayac=sayac+2
A7: Git adım 4
A8: Yaz ‘toplam’
A9: Bitir
35
Örnek: Verilen bir sayının faktöriyelini hesaplayan programın
algoritmasını yazınız (faktöriyeli hesaplanacak sayı negatif girilmişse
yeniden giriş istenecek)
Değişkenler:
Sayının faktöriyeli : faktoryel , Faktöriyel Değişkeni :sayac
Faktöriyeli hesaplanacak sayı :Y
Algoritma:
A1: Başla
A2 : faktoryel =1; sayac = 1
A3 : Y‘yi gir
A4 : Eğer Y<= 0 ise 3. adıma git
A5 : Eğer sayac>Y ise adim 8 e git
A6: faktoryel=faktoryel*sayac
A7: sayac =sayac+1 ve adım 5 e git
A8 : faktoryel degerini yaz
A9 : Bitir
36
Akış Diyagramları (Flow Charts):
Herhangi bir sorunun çözümü için izlenecek yol anlamına gelmektedir. Akış diyagramları,
algoritmaların sembolik olarak gösterimidir. Bilgisayarda gerçekleştirilecek her tür aksiyon
ayrı bir sembolle gösterilir.
37
Örnek: Verilen iki sayının ortalamasını hesaplayan programın
algoritmasını yazınız ve akış diyagramını çiziniz.
Başla
Algoritma:
Akış diyagramı:
X=?
A1 : Başla
Y=?
A2 : X değerini gir
A3 : Y değerini gir
A4 : Ort = (X+Y)/2
Ort=(X+Y)/2
Ort
yaz
A6 : Ort degerini yaz
A7 : Bitir
Bitir
38
Karar Verme Yapısı (Şartlı yapılar)
39
Örnek: Girilen bir sayının Negatif, Pozitif veya Sıfır olduğunu
bulan algoritmayı yazınız ve akış diyagramını çiziniz.
Bir sayının pozitif, negatif veya sıfır olduğunu bulmak için sıfır(0)
ile test edilmesi gerekir.
Algoritma:
Akış Diyagramı:
A1: Başla
A2: Sayıyı (X) giriniz
Başla
X=?
A3: Eğer X > 0 ise 'POZITIF' yaz 6.adıma git
X>0
A4: Eğer X < 0 ise 'NEGATİF' yaz 6.adıma git
doğru
yaz
yanlış
X<0
‘POZITIF’
doğru
‘NEGATİF’
yaz
yanlış
A5: 'SIFIR' yaz.
‘SIFIR’
yaz
A6: Bitir
Bitir
40
SORU: Dışardan girilecek iki sayıdan birinci sayıyı ikinci sayıya
bölen bir algoritma ve akış diyagramı hazırlayın (ikinci sayı sıfır
girilirse ekrana ‘yanlış giriş yaptınız, yeniden değer giriniz’
mesajı yazdırılacak ve veri girişi yinelenecektir).
41
Tekrarlı İşlemler (Döngü işlemleri)
42
Örnek: Ax+b=0 seklinde verilen 1.derece denklemin çözümünü veren programın
algoritmasını yazınız ve akış diyagramını çiziniz (A=0 girilmiş ise veri girişi yinelenecektir).
A1: Başla
A2: A değerini giriniz
A3: A=0 ise Adım 2’ye git
A=0
Evet
Hayır
A4: B değerini giriniz
A5: X=-B/A
A6: Yaz X
A7: Bitir
43
Soru
: Daha önce algoritması yazılan ve bir sayının faktöriyelini
hesaplayan programın akış diyagramını çiziniz.
Soru: Dışarıdan girilen 3 sayıdan en büyüğünü bulan programın
algoritmasını ve akış diyagramlarını oluşturunuz.
44
Örnek: 1' den 100'e kadar sayıların
karelerini, kareköklerini, küplerini,
küpköklerini sırasıyla bulup ekrana yazdıran
ve ayrıca 1’den 100’e kadar olan sayıların
ortalamasını da hesaplayan programın
algoritmasını ve akış diyagramını
hazırlayınız.
Algoritma:
45
Örnek:
F(x) fonksiyonunun degeri X'in aldığı
değerlere göre asağıda verilmiştir. X'in
değeri 0-20 arasında 0.5 aralıklarla
arttığına göre her bir X degeri için F(x)
fonksiyonunu hesaplayan programın
akış diyagramını ç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
Algoritma: ??? kurunuz
46
Örnek : Ax²+Bx+C=0 şeklinde verilen 2. derece denklemin
köklerini bulan programın akış diyagramını çiziniz. (Ikinci
derece denklem olmadigi uyarisini nasil verirsiniz?)
47
MATLAB
MATLAB,
bilim adamları ve mühendislere, matrislere dayalı problemleri
Fortran ve C gibi dillerden farklı olarak program yazmaksızın çözmede
kullanılmak üzere bir sayısal hesaplama kütüphanesi (MATris
LABoratuvarı (MATrix LABoratory)) olarak tasarlanmıştır. Daha sonraları
ise birçok toolbox eklenerek geliştirilmiştir. MATLAB 1970’lerin sonunda
Cleve Moler tarafından yazılmıştır. Cleve Moler aynı zamanda “The
Mathworks” firmasının da kurucusudur.
MATLAB bir yorumlayıcıdır (interpreter). Bir derleyiciye (compiler)
ihtiyaç duyan programlama dillerinden farklı olarak bir MATLAB
programı her çalıştırıldığında satır satır makina diline çevrilir.
MATLAB Programının Tipik Kullanım
Alanları
Matematiksel hesaplama yapmada,
Algoritma geliştirme ve kod yazmada (programlama),
Lineer cebir, istatistik, Fourier Analizi vb. konularda
hazır matematik fonksiyonlara ulaşabilmede,
2D ve 3D grafikler çizmede,
Modelleme ve simülasyon yapmada,
49
MATLAB Programlama Ortamının Tanıtımı
MATLAB PROGRAM GELİŞTİRME ORTAMI
a) Launch Pad (Başlatma Penceresi)
b) Command Window (Komut Penceresi)
c) Workspace (Çalışma Alanı)
d) Current Directory (Mevcut Dizin)
e) Command History (Komut Geçmişi)
!! MATLAB programlama ortamını ilk açılıştaki haline getirmek için
Desktop->Desktop Layout->Default komutunu çalıştırınız. !!
50
Matlab Arayüzü
Geçerli Kayıt Dizini
(Current directory)
m-dosyası editörü (m-file
editor)
•Programlar burada yazılır
•Matlab programı
kaydedilen dosyaları
otomatik olarak tanımlı
bir dizine depolar
•İstenildiği takdirde bu
depolama dizini
kullanıcı tarafından
değiştirilebilir
Komut Penceresi (Command
Window)
•Komutları çalıştırır
•Sonuçları gösterir
•Program hataları burada incelenir
Çalışma alanı
(Workspace)
•Değişkenleri ve
•Değişkenlerin
Yapısını gösterir
Komut geçmişi
(Command
History)
•Komutların listesini
tutar
•Burada seçilen
komut komut
penceresinde
yeniden
kullanılabilir
Temel Bilgiler
Komut Penceresi: MATLAB ile iletişim kurulan ana penceredir.
MATLAB yorumlayıcısı, kullanıcıdan gelecek komutları kabul etmeye
hazır olduğunu gösteren “ >> ” biçiminde bir simge görüntüler. Örneğin,
4*25+6*52+2*99 gibi basit bir matematiksel işlemi yapmak için
>> 4*25+6*52+2*99
ifadesini yazıp ENTER tuşuna basarız.
ans=
610
Komut Satırında Yanlışların Düzeltilmesi: Klavyede yer alan ok tuşları
komut satırında yapılan yanlışlıkların düzeltilmesine imkan verir. Bunlar
yukarı “↑” aşağı “↓” sol “←” sağ “→”. Yukarı tuşu yardımıyla bir
önceki satır tekrar görüntülenerek sağ ve sol tuşları ile yanlış yazılı yere
imleç taşınarak düzenleme gerçekleştirilir.
Sonucun Ekranda Görüntülenmesini Gizleme: Bir deyim yazıp, ENTER
tuşuna
basınca sonuçlar ekranda otomatik olarak görüntülenir. Buna
karşılık, deyimin sonuna “ ; ” ilave edilecek olursa yapılan hesaplamalar
ekranda görüntülenmez.
52
MATLAB’DE DEYİMLER VE DEĞİŞKENLER
Deyim Oluşturma Grupları: Değişkenler, rakamlar, operatörler ve
fonksiyonlardır. MATLAB deyimleri komut satırından girilen herşeydir.
Değişkenler: Deyimler içerisinde sayısal değerlerin yerini alan ifadelerdir.
MATLAB bir değişken ile karşı karşıya geldiğinde, otomatik olarak bu
değişken oluşturulur ve yeteri kadar bellek ayrılır. Eğer değişken daha
önceden tanımlı ise MATLAB onun içeriğini değiştirir.
Örneğin, >>x =50
komut satırından işletildiğinde MATLAB “x” adında bir değişken oluşturur
ve 50 değerini bu değişkene atar.
Diğer bilgisayar dillerinde olduğu gibi MATLAB’in de değişken isimleri
konusunda bazı kuralları vardır.
53
Kurallar
1- Değişken isimleri küçük, büyük harf kullanımına duyarlıdır. Buna göre aynı
anlama gelen fakat farklı yazılan “orta”, “Orta”, “orTa” ve “ORTA” kelimeleri
MATLAB için farklı değişkenlerdir.
2- Değişken isimleri en fazla 63 karakter içerebilir. Bundan fazla olanlar
dikkate alınmaz.
3- Değişken isimleri daima bir harf ile başlamalıdır. Bunu harfler, rakamlar
veya alt çizgiler ”_” izleyebilir. Değişken ismi oluşturulurken noktalama
işaretleri ve boşluk KULLANILMAZ. Çünkü bunların pek çoğunun MATLAB
için bir anlamı vardır. Ayrıca değişken adlarında küçük veya büyük “ç ı ö ü ğ
ş” gibi Türkçe karakterler KULLANILMAZ.
Rakamlar: MATLAB rakamlar için artı veya eksi işaretini ve tercihli ondalık
noktası ile birlikte alışagelmiş ondalık işaretler sistemini kullanır. 10 sayısının
kuvvetini temsilen “e” harfi kullanılır. Sanal rakamlar son takı olarak “ i ” veya
“ j ” harfini kullanır.
3, -100, 0.0005, 9.53564 1.456e10, 2.5e-5, 10i, -3.4j, 3e5i
54
Operatörler: MATLAB, deyimler içerisinde
operatörler ve öncelik kuralları kullanır.
İşlem
Sembol
Örnek
Toplama,
a+b
+
2+3
Çıkarma,
a-b
-
5-2
Çarpma,
a*b
*
3*4
Bölme,
a/b
/
14/7
Üs alma,
ab
^
2^3
Parantez
a*(b+c)
()
2*(3+5)
alışageldik
aritmetik
Aritmetik işlemlerde öncelik hakkı: Tek bir matematiksel deyim içinde
birden fazla işlem bir arada bulunabildiğine göre hangi işlemin öncelik
hakkına sahip olduğunun bilinmesi yerinde olacaktır. MATLAB’de işlemlerin
öncelik listesi aşağıda verilmiştir.
55
İşlem
Parantez
Üst alma, soldan sağa doğru (2^2^3=???)
Çarpma ve bölme, soldan sağa doğru
Toplama ve çıkarma, soldan sağa doğru
Öncelik
1.
2.
3.
4.
Hazir Fonksiyonlar: MATLAB, sin, abs, sqrt ve log gibi önemli fonksiyonları
da içine alan çok sayıda hazır matematik fonksiyon içerir. Bu fonksiyonların
bazıları aşağıdaki Tablo’da listelenmiştir.
Fonksiyon
Sembol
Örnek
Fonksiyon
Sembol
Örnek
Sinüs
sin
sin(pi)
Eksponensiyal,
exp
exp(2)
Kosinüs
cos
cos(pi)
Doğal logaritma ln(x)
log
log(10)
Tanjant
tan
tan(pi)
10 tabanlı logaritma
log10
log10(10)
Arksinüs
asin
asin(0)
Kare kök,
x
sqrt
sqrt(25)
Arkkosinüs
acos
acos(0)
Mutlak değer,
|x|
abs
abs(3)
Arktanjant
atan
atan(1)
ex
sinüs, cosinüs, tanjant, arksinüs, arkkosinüs ve arktanjant fonksiyonları açı değerlerini
radyan cinsinden argüman olarak alırlar. Derece cinsinden çalışmak isterseniz
(Derece/180)=(Radyan/pi) formulünden faydalanınız. sin(30)(Derece)=sin(30*pi/180)
56
Örnekler:
Matematiksel Yazılım
MATLAB de Yazılım
ab-c+d-6+da
a*b-c+d-6+d*a
b+c3-d/8-b2c
b+c^3-d/8-b^2*c
a
2ab
 c 3  bd 2  2
b
b  4ac
(b  c 2 ).3 f
a
e f
d 
3a
Uygulama :
x
3
a / b  c (3 / 2)  b * d  2  (2 * a * b) /(b 2  4 * a * c)
3
a
???
c
ba
1  c2 
a  b4
b  5 cd 3
4
a
 (ac) 3 
2
a a
işlemini MATLAB dilinde kodlayınız.
57