m programlamaya gİrİŞ -...

41
Nedim TUTKUN Elektrik Elektronik Mühendisliği Bölümü [email protected] 1 MATLAB İLE PROGRAMLAMAYA GİRİŞ

Upload: others

Post on 03-Sep-2019

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

Nedim TUTKUN Elektrik Elektronik Mühendisliği Bölümü

[email protected]

1

MATLAB İLE

PROGRAMLAMAYA

GİRİŞ

Page 2: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

2

1. Hafta nın Ders İçeriği

Page 3: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

Tanıtım

MATLAB ile İlgili Temel Bilgiler

Page 4: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

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.

Page 5: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

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.

Page 6: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

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.

Page 7: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

Tanıtım

Page 8: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

MATLAB Ara Yüzünün Tanıtılması

8

Default Görünüm

Çalışma dizini Komut penceresi

Çalışma alanı

Page 9: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

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

Page 10: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

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

Page 11: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

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

Page 12: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

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

.

Page 13: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

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.

Page 14: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

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.

Page 15: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

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

Page 16: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

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

Page 17: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

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.

Page 18: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

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.

Page 19: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

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.

Page 20: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

Değişken Türleri ve Değer Atamaları

Matris

20

Satır Vektörü

Sütun Vektörü

Page 21: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

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

Page 22: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

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.

Page 23: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

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

Page 24: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

Grafik çizdirme

24

Page 25: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

Trigonometrik Fonksiyonlar

25

Page 26: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

26

Page 27: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

27

Page 28: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

28

Page 29: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

Bazı özel MATLAB komutları

29

Page 30: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

Sık Kullanılan Matematiksel Fonksiyon Komutları

30

ceil (b): b sayısını pozitif sonsuza doğru en yakın tamsayıya yuvarlar.

Page 31: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

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: ')

Page 32: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

input komutu ile klavyeden metin veri temini

>> ders=input('Secmek istediginiz dersin kodunu giriniz: ','s')

32

Page 33: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

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.

Page 34: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

Örnek:

34

Page 35: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

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.

Page 36: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

36

Bazı Kaynaklar Bazı Kaynaklar

Page 37: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

37

Page 38: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

38

Page 39: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

39

Page 40: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

40

Page 41: M PROGRAMLAMAYA GİRİŞ - nedimtutkun.comnedimtutkun.com/ders_notlari/matlab_programlama/notlar1.pdf · Tanıtım MATLAB sayısal hesaplama, gelişmiş grafik ile görseli ve yüksek

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