MATLAB’de MATLAB de
Bilgisayar Bilgisayar
Programlama Programlama
Dersin Sorumlusu:
Yrd. Doç. Dr. Birol SOYSAL
S l H l
Sunumları Hazırlayan:
Doç. Dr. Bülent ÇAKMAK
KAYNAKLAR
1- MATLAB, Ömer Gündoğdu, Osman Kopmaz, M. Akif Ceviz, Paradigma Akademi, 2003.
2- MATLAB ve Programlama, Dr. Aslan İnan, Papatya yayınları, 2004.
3 MATLAB 6 5 A E Ç ti Alf Y l 2003 3- MATLAB 6.5, A. Emre Çetin, Alfa Yayınları, 2003.
4- MATLAB ile Mühendislik Sistemlerinin Analizi ve Çözümü, İbrahim Yüksel, Nobel, 3. Baskı. ,
5- Her yönü ile MATLAB, Mehmet Uzunoğlu, Ömer Çağlar Onar, Ali Kızıl, Türkmen Kitabevi, 2003.
6- MATLAB ile Mühendislik Sistemlerinin Analizi, Uğur Arifoğlu, Alfa Yayınları, 2003.
Erzurum’da bulunabilecek kaynaklar Erzurum da bulunabilecek kaynaklar
Dersin İçeriği Dersin İçeriği
1. HAFTA
MATLAB programlama ortamının tanıtımı, Bilgi türleri, Sabitler, Değişkenler Değişken türlerinin programda tanıtılması, Aritmetik işlemler, Aktarma d i l i
deyimleri,
2. HAFTA Giriş- Çıkış deyimleri 3. HAFTA Kontrol deyimleri
4. HAFTA Kontrol deyimleri (devam)
5. HAFTA Çevrim yapıları (yinelemeli yapılar)
6. HAFTA Çevrim yapıları (yinelemeli yapılar)-devam 6. HAFTA Çevrim yapıları (yinelemeli yapılar) devam 7. HAFTA Dizi kavramı
8. HAFTA İki boyutlu diziler
9 HAFTA Örnek problemler ve çözümleri 9. HAFTA Örnek problemler ve çözümleri 10. HAFTA Fonksiyonlar
11. HAFTA Dosya yönetimi G f
12. HAFTA Grafik çizme
13. HAFTA Hazır fonksiyonlar ve kullanımı
K
K
onular:onular:M M M
M
ATLAB ortamının tanıtımıATLAB ortamının tanıtımı MatlabMatlab sistemi (ara yüzey tanıtımı)sistemi (ara yüzey tanıtımı) a)
a) Geliştirme ortamıGeliştirme ortamı a)
a) Geliştirme ortamıGeliştirme ortamı b)
b) Komut penceresiKomut penceresi c)
c) Başlatma penceresi (Başlatma penceresi (launchlaunch padpad)) d)
d) WorkspaceWorkspace e)
e) HistoryHistory f)
f) CurrentCurrent directorydirectory
M
M
ATLABATLABM
ATLAB, bilim adamları ve mühendislere, Fortran ve C gibi gelenekselleşmiş dillerde program yazmaksızın, matrislere dayalı problemleri çözmede kullanılmak üzere bir sayısaly p ç y hesaplama kütüphanesi sunmak amacıyla, MATris LABoratuvarı (MATrix LABoratory) programı olarak tasarlanmıştır. Fakat daha sonra, Optimization Toolbox, Control Systemy Toolbox, Communications Toolbox gibi bazı toolbox’lar eklenerek geliştirilmiştir.MATLAB bir yorumlayıcıdır (interpreter); yani sonuç daha ziyade el MATLAB bir yorumlayıcıdır (interpreter); yani sonuç, daha ziyade el tipi hesap makinelerine benzer tarzda ekranda yazılı bir metin olarak alınabilir. Neticede diğer dillerde olduğu gibi “derleme”ye (compilation) ihtiyaç yoktur; fakat programlamaya izin vermesinden
( p ) y ç y ; p g y
dolayı da güçlü bir paket programdır.
>> t = 0:pi/50:2*pi;
>> [x,y,z]=cylinder(4*cos(t));
>> mesh(x,y,z)
0.8 1
0.4 0.6
40 0.2
4
-2
0
2
4
-4 -2
0 2
4 -4
1. Temel Bilgiler
Komut Penceresi: MATLAB ile iletişim kurulan ana penceredir 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 ileti görüntüler. Örneğin, 4*25+6*52+2*99 gibi basit matematiksel işlemi yapmak için
4 25+6 52+2 99 gibi basit matematiksel işlemi yapmak için
>> 4*25+6*52+2*99 ifadesini yazıp Enter tuşuna basılınca, ans=
610
K t t d l l dü ltil i Kl d l k t l
Komut satırında yanlışların düzeltilmesi: Klavyede yer alan ok tuşları komut satırında yapılan yanlışlıkları düzeltilmesine olanak tanır. Bunlar yukarı “↑” aşağı “↓” sol “←” sağ “→”. Yukarı tuşu kullanılarak bir önceki sat r tekrar görüntülenerek sağ e sol t şlar ile anl ş a l ere önceki satır tekrar görüntülenerek sağ ve sol tuşları ile yanlış yazılı yere kursör taşınarak düzenleme gerçekleştirilir.
Sonucun Ekranda Görüntülenmesini Gizleme: bir deyim yazıp, Entery y p tuşuna basılınca sonuçlar ekranda otomatik olarak görüntülenir. Buna karşılık, deyimin sonuna “ ; ” ilave edilecek olursa, bu deyim ile yapılan hesaplamalar ekranda görüntülenmez.
2. MATLAB DEĞİŞKENLERİ VE KURALLAR
Diğer programlama dillerinin pek çoğunda olduğu gibi MATLAB da matematik deyimler şart koşmakla beraber, diğer pek çok programlama dillerinden farklı olarak bu deyimler tümüyle matrisleri kapsar.
Deyim oluşturma gurupları: Değişkenler, rakamlar, operatörler ve fonksiyonlardır. MATLAB deyimleri ise komut ortamında yazılan her türlü
k l d
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 komut satırlarıdır.
ğ ş ş ş y g ğ
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 ve gerekirse yeni bellek ayırır.
Örneğin, >>x =50
yazıldığında “x” adı altında bir değişken oluşturur ve 50 değerini bu değişkene atar
değişkene atar.
Diğer bilgisayar dillerinde olduğu gibi MATLAB’ın da değişken isimleri konusunda bazı kuraları vardır
konusunda bazı kuraları vardır.
Belli Başlı Kurallar Aşağıda Olduğu Gibi Özetlenebilir.
Belli Başlı Kurallar Aşağıda Olduğu Gibi Özetlenebilir.
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
MATLAB için farklı değişkenlerdir.
2- Değişken isimleri en fazla 31 karakter içerebilir. Bundan fazla olanlar dikkate alınmaz
3- Değişken isimleri daima bir harf ile başlamalı ve bunu herhangi bir sayıda harfler, rakamlar veya alt çizgi ”_” izleyebilir. NoktalamaNoktalama işaretleriişaretleri değişken isminde kullanılmaz. Çünkü bunların pek çoğunun MATLAB için ayrı bir isminde kullanılmaz. Çünkü bunların pek çoğunun MATLAB için ayrı bir anlamı vardır.
4- Değişken adlarında Türkçe karakter kullanılmamalıdır.
Rakamlar: MATLAB rakamlar için artı veya eksi işareti ve tercihli ondalık noktası ile birlikte alışagelmiş ondalık işaretler sistemi kullanır. Bilimsel işaretler sistemi 10 tabanına göre kuvvet belirlemek için “e” harfi kullanır.
K k l k l t k l k “ i ” “ j ” h fi k ll
Karmaşık sayılar rakamlar son takı olarak “ i ” veya “ j ” harfi kullanır.
3, -100, 0.0005, 9.53564 1.456e10, 2.5e-5, 10i, -3.4j, 3e5i
MATLAB’ DE DEĞİŞKEN ATAMALARI MATLAB’ DE DEĞİŞKEN ATAMALARI Eşitlik
Eşitlik İfadeleri ile Değişken Atamaları Eşitlik
Eşitlik İfadeleri ile Değişken Atamaları
Bu şekildeki bir değişken atamasının genel hali,
>> değişken = değerdeğişken = değer
>> değişken = değerdeğişken = değer
şeklindedir. Burada "değişken", herhangi bir karakter veya karakter grubu olabilir.
"değer" ise, herhangi bir matematiksel ifade, bir karakter dizisi, bir sabit, bir
X = 3
Örnek:
ğ , g , , ,
matris veya bunların birden fazlasının matematiksel işlemler ile oluşturulmuş kombinasyonları olabilir.
X = 3 A = 5-5i B = A / 5
Örnek:
Bir değişkene bir değer atadıktan sonra aynı değişkene farklı bir değer atamak, o değişkenin ilkilk değerinindeğerinin silinmesinesilinmesine, söz konusu değişkenin bundan sonraki işlemlerdeş yeniyeni değeriyy değeriğğ ile işlem görmesine neden olmaktadır.ş g
Örnek: >> a=5
>>b=a+2
>>a=10
>>b=a+2 b =
7 b =
12
Operatörler: MATLAB deyimler içerisinde alışageldik aritmetik operatörler ve öncelik kuralları kullanır
operatörler ve öncelik kuralları kullanır.
İşlem
İşlem SembolSembol ÖrnekÖ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) Matematik
Matematik işlemlerdeişlemlerde önceliköncelik hakkı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 MATLAB da hakkına sahip olduğunun bilinmesi yerinde olacaktır. Aşağıda MATLAB da kullanılan işlemlerde, işlemlerin öncelik listesi verilmiştir.
Öncelik İşlem
1 PP
1. ParantezParantez
2. Üst alma, soldan sağa doğruÜst alma, soldan sağa doğru
3. Çarpma ve bölme, soldan sağa doğruÇarpma ve bölme, soldan sağa doğru
4 T lT l kk ldld ğ d ğğ d ğ
4. Toplama ve çıkarma, soldan sağa doğruToplama ve çıkarma, soldan sağa doğru
Fonksiyon: MATLAB sin, abs, sqrt, ve log gibi çok önemli fonksiyonları da içine alan çok sayıda elemansal matematik fonksiyon sağlar Bu fonksiyonların içine alan çok sayıda elemansal matematik fonksiyon sağlar. Bu fonksiyonların bazıları aşağıdaki Tablo’da listelenmiştir.
F k i S b l Ö k F k iF k i SS b lb l ÖÖ kk Fonksiyon Sembol Örnek
Sinüs, sin(θ) sin sin(pi)sin(pi) Cosinüs, cos(θ) cos cos(pi)cos(pi)
Fonksiyon
Fonksiyon SembolSembol ÖrnekÖrnek Eksponansiyel, ex exp exp(2) Doğal logaritma ln(x) log log(10) Tanjant, tan(θ) tan tan(pi)tan(pi)
Arksinüs, arcsin(θ) asin asin(0)asin(0)
A kk i ü (θ) (0)(0)
10 tabanlı logaritma log10 log10(10) Kare kök, √x sqrt sqrt(25) Arkkosinüs, arccos(θ) acos acos(0)acos(0)
Arktanjant, arctan(θ) atan atan(1)atan(1)
Mutlak değer, |x| abs abs(3)
Örnekler:
Matematiksel yazılım
Matematiksel yazılım Bilgisayarda 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
ac b
bd ab b c
a
4 2
2 2
3
+ −
−
+ a/b+c∧(3/2)−b*d∧2+(2*a*b)/(b∧2−4*a*c)
???
ac b
b 4
f d e
f c
a (b 2 ). 3 3 + −
+ +
a 3
Ödev: a c
+
4a a ac a
b a
c
a a b
x ( ) 2
1
4 3
3
5 3
4 2
− + +
− +
= −
a cd a
b +
5 3İşlemini MATLAB dilinde kodlayınız
ÖZEL DEĞERLER VE KALICI DEĞİŞKENLER ÖZEL DEĞERLER VE KALICI DEĞİŞKENLERŞŞ
MATLAB'ın yapısında önceden tanımlanmış, kullanılacakları zaman tekrar tanımlanmalarına gerek olmayan ve herhangi bir anda kullanılmaya hazır bazı özel değerler bulunur.
Ö ği Örneğin:
yarıçapı 2 birim olan bir kürenin alanını
>> r=2;
>> alan = 4 * pi * r^2
>> alan = 4 * pi * r^2
>> alan =
50 2655 50.2655
BİR DEĞİŞKENE
BİR DEĞİŞKENE DIŞARIDANDIŞARIDAN BİR DEĞER ATANMASINI İSTEMEKBİR DEĞER ATANMASINI İSTEMEK
“ inputinputinputinput " fonksiyonu, komut penceresinde kullanıcıdan bir değişkene birfonksiyonu, komut penceresinde kullanıcıdan bir değişkene bir değer girmesini isteyen bir komut görüntüler ve kullanıcının bu değeri girmesini bekler,
X i t('Bi d ğ i i i ') X=input('Bir değer giriniz= ');
>> x=input(' x input(xx değerini giriniz= ')değerini giriniz )
x değerini giriniz= 10
x = 10 10
Uygulama Sorusu:
Dışarıdan girilen 3 sayının ortalamasını bulan bir MATLAB programı yazınız.