m programlamaya gİrİŞ -...
TRANSCRIPT
Nedim TUTKUN Elektrik Elektronik Mühendisliği Bölümü
1
MATLAB İLE
PROGRAMLAMAYA
GİRİŞ
2
1. Hafta nın Ders İçeriği
Tanıtım
MATLAB ile İlgili Temel Bilgiler
Tanıtım
MATLAB sayısal hesaplama, gelişmiş grafik ile görseli
ve yüksek seviyeli programlama dilini birleştiren
entegre bir teknik hesaplama ortamıdır.
Matematiksel işlem yapmak için yüzlerce komutu
içerir. Fonksiyonları grafiklemek, denklemleri çözmek,
istatistiksel testler yapmak ve çok daha fazlasını
yapmak için MATLAB paket programını
kullanabilirsiniz.
Örneğin kendisine yakın aileden diller olan FORTRAN
ve C gibi programlama dilleri ile iletişim kurabilen üst düzey bir programlama dilidir.
Tanıtım
Bu yazılım ile ses üretebilir ve animasyonlu grafikler
oluşturabilirsiniz. Bunun yanında MATLAB‘ın ilave bir
programı olan SİMULİNK ile simülasyon ve
modellemeler yapabilirsiniz. Ayrıca internette kullanım
için malzemeler hazırlayabilirsiniz.
Bu sofistike program birçok özellik ve seçenekleri
ihtiva eder. Öyleki, bu programda kullanımınıza hazır
yüzlerce faydalı komut bulunmakta olup MATLAB
yardım dokümanları binlerce açıklaycı bilgi girdisi içermektedir.
Tanıtım
MathWorks Kullanım Kılavuzu olarak verilen standart
referanslar kullanıcının öğrenmesi veya erişmesi için
çok sayıda komutu, seçeneği ve özellikleri anlatan
sayısız tabloyu içermektedir.
MATLAB bir hesap makinesinden daha fazlası, son
derece kullanışlı ve çok yönlü bir araçtır. Öyleki,
MATLAB’ı çok az bilseniz bile birçok şeyi
gerçekleştirmek için kullanabilirsiniz.
Bununla birlikte, zor kısmı, yüzlerce komuttan, yardım
sayfalarının sonuçlarından ve binlerce belgenin
hangilerinin hızlı ve etkili bir şekilde kullanmaya başlamak için bakmanız gerektiğini bilmenizidir.
Tanıtım
MATLAB Ara Yüzünün Tanıtılması
8
Default Görünüm
Çalışma dizini Komut penceresi
Çalışma alanı
Command Window:
MATLAB ile iletişimin kurulduğu
bölümdür. ‘‘>>’’ (prompt)
işaretinde sonra istenen komutlar
yazılır.
Yazılan komutların çalıştırılması
için klavyede ‘‘ENTER’’ tuşuna
basılmalıdır.
Komut yazıldıktan sonra ‘‘noktalı
virgül (;)’’ kullanıldığında sonuç
ekranda görünmez. Sonucunda
ekranda görülmesi isteniyor ise
sonuna ‘’;’’ ifadesi konulmaz.
9
Komut penceresine ‘‘help’’ yazılarak ihtiyaç duyulan
komutlar ile ilgili bilgiye ulaşılabilir. Yada ‘‘Resorces’’ adlı
alt panel içinde yer alan seçenekler yardımı ile de
ulaşılabilir.
10
Help ekranında MATLAB seçeneği seçilerek çeşitli bilgilere
ulaşılabilir. Examples seçeneğinde ise bilgilendirme amaçlı
video, scprit vb. içeriklere ulaşılabilir.
11
Komut penceresinde daha önce yazmış olduğumuz
komutlara ulaşmak için klavyedeki yukarı (↑) yön tuşu
kullanarak ‘‘command history (komut geçmişi)’’
penceresine ulaşılabilir.
12
.
13
İstenirse ‘‘Layout’’ menüsünden ‘‘command history’’nin
sürekli olarak ara yüzde kalması sağlanabilir. Yapılan
değişikler ‘‘Save layout’’ seçeneği seçilerek açılan
pencereye istenen bir ad yazılarak bu konfigürasyon
kaydedilir. Bu ara yüz görünümünde çalışılmak
istendiğinde verilen ada tıklanarak açılır.
Workspace:
Her bir değişken command window ortamında tanımlanıp enter
tuşuna basıldığında ‘workspace’ penceresinde görünür.
14
Import data: Bilgisayarda bulunan değişkenlerin workspace ortamına kaydedilmesi için kullanılır.
Save workspace: Bizim tarafımızdan belirlenen değişkenlerin bilgisayara kaydedilmesi için
kullanılır.
New variable: Yeni değişken tanımlarken kullanılır.
Open variable: Tanımlanan değişkenin bulunduğu pencereyi açması için kullanılır.
Clear workspace: Çalışma alanındaki değişkenleri temizler. Command window penceresine
clear all komutu yazılarak da kullanılır.
Herhangi bir değişken seçilip sağ tıklandığında çıkan pencereden
‘‘Plot Catalog’’ seçeneği seçilerek çeşitli çizim türlerinin olduğu
bir pencere ile karşılaşılır.
15
Değişkenler, rakamlar, operatörler ve
fonksiyonlar kullanılarak oluşturulan komut
penceresinde doğrudan veya m dosyasına
yazılarak çalıştırılabilen her şey MATLAB
programlama kodunun bir parçasıdır.
16
Değişken Tanımlama Kuralları
17
1- MATLAB büyük/küçük harflere karşı duyarlıdır. Bu
yüzden değişken tanımlarken buna dikkat edilmelidir.
2- Değişken isimlerinde Türkçe (ç,ş,ü,ğ vb.) karakter
kullanılmamalıdır.
3- Değişken ismi rakam ile başlayamaz, daima harf ile
başlamalıdır. Harf ile başlandıktan sonra harf, rakam veya
alt çizgi (_) ile devam edebilir.
4- Değişken isimleri noktalama işaretleri ve boşluk(lar)
içermemelidir.
5- Değişken isimleri en fazla 63 karakter içerebilir. Bu sayıyı
görmek için ‘‘namelenghthmax’’ komutu kullanılır.
MATLAB ortamında tanımlı komut adları değişken ismi
olarak kullanılamaz.
18
Bir kelimenin değişken ismi olarak kullanılıp
kullanılamayacağını test etmek için ‘‘isvarname’’ komutu
kullanılır. Command window ortamına isvarname komutu
yanına merak edilen kelime yazılıp enter tuşuna
basıldığında kullanılabilirliği denetlenebilir.
‘‘1’’ Kullanılabilir.
‘‘0’’ Kullanılamaz.
19
Bir önceki örnekte verilen ‘‘abs’’ ve ‘‘sqrt’’ komutları değişken
adı olarak verilebilir gibi görünmesine rağmen değişken adı
olarak verildiğinde örneğin sqrt karekök alma komutu
çalışmaz hale gelmektedir.
Düzeltme işlemi yapılır.
Değişken Türleri ve Değer Atamaları
Matris
20
Satır Vektörü
Sütun Vektörü
Değişken Türleri ve Değer Atamaları
Karakter dizilerinin
değişkenlere değer
olarak atanması
21
Skalerlerin değişkenlere
değer olarak atanması
ans değişkeni
Rakamlar
22
Sayının negatif olduğunu belirtmek için önüne eksi (-)
işareti konulur. Pozitif sayılar için artı (+) konulabileceği
gibi hiçbir şey kullanılmaması da sayının pozitif olduğunu
gösterir.
Ondalık ayracı olarak nokta (.) kullanılır.
10 sayısının kuvvetleri belirtilirken e harfi kullanılır.
Karmaşık sayıların sanal kısmının gösteriminde i veya j
harfi kullanılır. i varsayılan olarak tanımlanmıştır.
Operatörler
23
Aritmetik Operatörler
İşlem Operatör
Toplama, a+b +
Çıkarma, a-b -
Çarpma, a*b *
Sağdan bölme, a/b /
Soldan bölme, b\a \
Üs alma, ab ^
Parantez a*(b+c) ()
Matris tanımlama [a b] []
Öncelik sırası;
1- En içteki parantez
2- Soldan sağa doğru üs işareti
3- Soldan sağa doğru çarpma, bölme işlemi
4- Soldan sağa doğru toplama çıkarma işlemi
Grafik çizdirme
24
Trigonometrik Fonksiyonlar
25
26
27
28
Bazı özel MATLAB komutları
29
Sık Kullanılan Matematiksel Fonksiyon Komutları
30
ceil (b): b sayısını pozitif sonsuza doğru en yakın tamsayıya yuvarlar.
Klavyeden Veri Aktarımı
31
‘‘input’’ komutu kullanılarak program içerisinde
değerlendirilmek üzere kullanıcının klavye aracılığı ile veri
alınır ve değişkene atanır.
>> ders=input('Secmek istediginiz dersin kodunu giriniz: ')
input komutu ile klavyeden metin veri temini
>> ders=input('Secmek istediginiz dersin kodunu giriniz: ','s')
32
disp ve fprintf komutları ile ekrana bilgi yazdırma
33
disp ('Ekrana yazılacak açıklama');
fprintf ('Ekrana yazılacak aciklama %x\n', deger);
Burada %x kısmında kullanabileceğimiz seçenekler:
%c : değerin tek bir karakter olduğunu gösterir.
%s : değerin bir karakter dizisi (string) olduğunu gösterir.
%d : değerin bir tamsayı olduğunu gösterir.
%f : değerin bir ondalıklı sayı olduğunu gösterir.
%g : değeri mümkün olan en kompakt forma sokar.
\n : İmleci bir alt satırın başına götürür. (n, newline)
\t : İmleci bir bir TAB tuşu kadar sağa kaydırır.
Örnek:
34
Alıştırmalar:
2𝒙𝟐 − 𝒙 + 𝟑 = 𝟎 denkleminin a, b ve c katsayılarını input
komutunu kullanarak giriniz.
35
1 ile 10 arasında rastgele tam sayı değerlerinden oluşan
3x4 boyutunda bir A matrisi oluşturunuz.
a) 𝑦 =𝑥3
5
b) 𝑦 =10
𝑙𝑛𝑥𝑒−𝑥
c) 𝑦 = 5(𝑙𝑜𝑔10)𝑥−3
d) 𝑦 = 𝑡𝑎𝑛(𝑒2
3𝑥)
Verilen matematiksel fonksiyonları MATLAB ortamında
ifade edip x=10 noktasındaki değerlerini hesaplayınız.
36
Bazı Kaynaklar Bazı Kaynaklar
37
38
39
40
Yararlanılan Kaynaklar
U. Arifoğlu, MATLAB 9.1 Simulink ve Mühendislik Uygulamaları, 1. baskı,
2016.
A. Dumlu, Bilgisayar Programlama, Ders Notları, Erzurum.
E. Pekşen, Programlama, Ders Notları, Kocaeli, 2011.
B. R. Hunt, R. L. Lipsman, J. M. Rosenberg, A Guide to MATLAB for
Beginners and Experienced Users.
41