You are on page 1of 41

Bilgisayar Programlama

MATLAB

2.SUNU
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ı

• Algoritma geliştirme ve kod yazmada (programlama),


• Matematiksel hesaplama (nümerik ve sembolik) yapmada,
• Lineer cebir, istatistik, Fourier Analizi, filtreleme, optimizasyon,
sayısal integrasyon vb. konularda hazır matematik
fonksiyonlara ulaşabilmede,
• 2D ve 3D grafikler çizmede,
• Modelleme ve simülasyon yapmada,
• Grafiksel arayüz oluşturmada,
• Veri analizi ve kontrolü gerçekleştirmede.
MATLAB için Ücretsiz Alternatif: OCTAVE

 John W. Eaton ve arkadaşları tarafından geliştirilen ve ilk


versiyonu 1993 yılında kullanıma sunulan matematiksel yazılım
kütüphanesi ve aynı zamanda programlama dilidir.

 Yazılım ismini, John W. Eaton’nun hocası olan Profesör Octave


Levenspiel(1926-2017) den almaktadır.

 OCTAVE her türlü sayısal analiz işleminde kullanılmak amacıyla


geliştirilmiş ve ticari bir yazılım olan MATLAB
(www.mathworks.com) ile hemen hemen aynı yazılım kuralları ve
yazılım kütüphanesine sahiptir.

 Genelde gerekli görülebilen çok az sayıda düzenleme ile


MATLAB programları OCTAVE ortamında ve OCTAVE
programları da MATLAB ortamında çalıştırılabilir.
OCTAVE

 GNU OCTAVE ya da kısaca OCTAVE, öncelikli olarak sayısal


hesaplamalar için tasarlanmış yüksek seviyeli bir dildir.

 Özgür ve ücretsiz bir yazılımdır. (https://www.gnu.org/software/octave/)


sayfasından ücret ödemeden indirilip bilgisayarınıza kurabilirsiniz.
 Eğer OCTAVE’ı kurmak mümkün değilse (https://octave-online.net/)
sayfasından online olarak da kullanılabilir.

 Ticari karşılığı olan MATLAB ile çoğunlukla uyumlu bir dil kullanır.
 Fakat, ne yazık ki OCTAVE tüm MATLAB özelliklerini
kapsamamaktadır.
OCTAVE Kullanıcı Arayüzü
MATLAB Programlama Ortamının Tanıtımı

! Lütfen Herkes MATLAB Programını Çalıştırsın !

MATLAB PROGRAMLAMA ORTAMI


1. Başlat Menüsü (Start)
2. Komut Penceresi (Command Window)
3. Çalışma Alanı (Workspace)
4. Çalışma Dizini (Current Folder)
5. Komut Geçmişi (Command History)
6. Metin Düzenleyicisi (Editor)

!! MATLAB programlama ortamını ilk açılıştaki haline getirmek için


Desktop->Desktop Layout->Default komutunu çalıştırınız. !!
MATLAB Programlama Ortamının Tanıtımı
Matlab versiyonu Yardım

Metin düzenleyicisi (Editor)

Çalışma Alanı
(Workspace)
Çalışma Dizini
(Current Folder)

Komut Penceresi (Command Window)

Komut Satırı (Command Prompt)


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.
MATLAB’DE DEYİMLER VE BİLEŞENLERİ

MATLAB komut penceresinden doğrudan çalıştırılabilen ya da bir MATLAB


dosyası içerisine kaydedilebilen ve MATLAB tarafından yorumlanabilen her
şey MATLAB deyimidir. MATLAB deyimleri değişkenler, rakamlar,
operatörler ve fonksiyonlar kullanılarak oluşturulurlar.

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 ve gerekirse yeni
bellek ayırır.

Ö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.
Değişken Tanımlama Kuralları
1. Değişken isimleri daima bir harf ile başlamalıdır. İlk harfi başka harfler,
rakamlar ve alt çizgiler ( _ ) izleyebilir. Örneğin 1sayi uygun bir değişken ismi
değilken, sayi_1 kullanılabilir bir değişken adıdır.

2. Değişken isimleri noktalama işaretleri ve boşluk(lar) barındırmamalıdır.


sayi.1 veya sayi 2 (2 den önceki boşluğa dikkat) şeklinde tanımlanan
değişken adları bu kural ihlalinin iki örneğidir.

3. Değişken isimleri içerisinde Türkçemize özgü küçük veya büyük “ç, ğ, ı, ö,


ş, ü” karakterleri kullanılmamalıdır.

4. Değişken isimlerinin küçük ve büyük harf kullanımına duyarlı olduğu


unutulmamalıdır. orta, Orta, ORTA veya orTa adlı değişkenler MATLAB için
farklı değişkenlerdir.

5. Değişken isimleri en fazla 63 karakter içerebilir ve bundan fazlası MATLAB


tarafından dikkate alınmaz.
DEĞİŞKENLERİN İSİMLENDİRİLMESİ
 Değişkenler ve daha sonraki bölümlerde göreceğimiz fonksiyonlar
muhakkak kullanım amaçları dikkate alınarak ve anlamlı bir şekilde
isimlendirilmelidirler.

 Örneğin kullanıcıdan klavye yoluyla alınacak ve ortalamaları hesaplanacak


üç sayı a, b, c veya x, y, z gibi jenerik değişken isimleriyle değil sayi1,
sayi2 ve sayi3 gibi anlamlı isimlerle temsil edilmelidir.

 Bir zorunluluk olmasa bile yazılan bir programın anlaşılabilirliğini artırmak


adına değişkenler ve fonksiyonlar adlandırılırken bazı notasyonlardan
faydalanılır.
DEVE VE PASKAL NOTASYONLARI

 Değişken tanımlamalarında Deve Notasyonundan (Camel Notation) ve


dosya isimlendirmelerinde (düzyazı ve fonksiyon m-dosyaları) Paskal
Notasyonundan (Pascal Notation) faydalanılabilir.

 Deve Notasyonu ile tanımlanmış değişken isimlerine birkaç örnek olarak


sayi1, enKucuk, bankaHesapNo ve basamakSayisi verilebilir.

 Paskal Notasyonu ile tanımlanmış dosya isimlerine örnek olarak


AsalSayiMi.m, OrtalamayiHesapla.m ve ToplayarakCarpma.m verilebilir.

 .m, daha sonra da öğreneceğimiz üzere MATLAB programlama


dosyalarının uzantısıdır.
Rakamlar
 MATLAB’de negatif bir sayıyı temsil için o sayının önünde eksi (-) işareti
vardır. Bir sayının önüne artı (+) işareti koyulması veya hiçbir işaret
koyulmaması o sayının pozitif olduğunun delilidir.

 Ondalıklı sayılarda ayraç olarak nokta (.) ve 10 sayısının kuvvetini


temsilen e harfi kullanılır.

 Karmaşık sayıların sanal kısımları MATLAB’de son takı olarak i harfini


kullanır.

 Bu bilgiler ışığında MATLAB yorumlayıcısının anlayacağı birkaç rakama


örnek olarak 6, -175, 3.1416, 2.54e2, 7i veya 5+7i verilebilir.
Aritmetik Operatörler: MATLAB, deyimler içerisinde aşağıdaki aritmetik
operatörleri ve öncelik kurallarını kullanır.

İşlem Operatör Örnek


Toplama, a+b + 2+3 Aritmetik Operatörlerin Öncelik
Çıkarma, a-b - 5-2 Sıraları: Tek bir matematiksel
deyim içinde birden fazla işlem bir
Çarpma, a*b * 3*4 arada bulunabildiğine göre hangi
Bölme, a/b / 15/7 işlemin öncelik hakkına sahip
olduğunun bilinmesi yerinde
Üs alma, ab ^ 2^3 olacaktır. MATLAB’de işlemlerin
Parantez a*(b+c) () 2*(3+5) öncelik listesi aşağıda verilmiştir.

Öncelik İşlem
1. Parantez (İçten Dışa Doğru)
2. Üs Alma (Soldan Sağa Doğru) (2^2^3=???)
3. Çarpma ve Bölme (Soldan Sağa Doğru)
4. Toplama ve Çıkarma (Soldan Sağa Doğru)
MATLAB’in Kullanıma-Hazır Bazı Matematiksel
Fonksiyonları
Ö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 a / b  c  (3 / 2)  b * d  2  (2 * a * b) /(b  2  4 * a * c)
b b  4ac
(b  c 2 ).3 f 3
a
e f a=1, b=2, c=3, d=4, e=5, f=6 iken ???
d
3a

c
Uygulama 1: a 4
x ba  ( ac) 3 
a
2
3
1  c2  a  b4
a a
b  5 cd 3

işlemini MATLAB dilinde kodlayınız.


clc VE clear KOMUTLARI

clc komutu komut penceresini temizler.

clear komutu bütün değişkenleri ve fonksiyonları bellekten siler.


(Bütün değişkenleri çalışma alanından (workspace) çıkarır.)

Lütfen Aşağıdaki Komutları Komut Penceresinden Çalıştırın:


>>help clc
>>help clear
>>help abs
>>help sqrt
Daha detaylı yardım için (komutun kullanımına ait örnekleri de görmek için)
doc komutundan faydalanabilirsiniz.

>>doc sqrt
MATLAB’ DE DEĞİŞKEN TÜRLERİ
VE DEĞER ATAMALARI

Herşey matris?

MATLAB değişkenlerine değer olarak aşağıdakilerden


herhangi birisi atanabilir:

 Matris
 Satır Vektörü
 Sütun Vektörü
 Karakter Dizisi (Katar) (String)
 Skaler
(İKİ BOYUTLU) MATRİSLERİN DEĞİŞKENLERE
DEĞER OLARAK ATANMASI
(TEK BOYUTLU) SATIR VEKTÖRLERİNİN
DEĞİŞKENLERE DEĞER OLARAK ATANMASI
(TEK BOYUTLU) SÜTUN VEKTÖRLERİNİN
DEĞİŞKENLERE DEĞER OLARAK ATANMASI
KARAKTER DİZİLERİNİN DEĞİŞKENLERE DEĞER
OLARAK ATANMASI
SKALERLERİN DEĞİŞKENLERE DEĞER OLARAK
ATANMASI
YERLEŞİK ans DEĞİŞKENİ VE MATEMATİK SABİTLERİ
ans DEĞİŞKENİ
pi SABİTİ
i SABİTİ

Sonraki bölümlerde döngü değişkeni olarak da kullanacağımız i


ile i sabiti karıştırılmamalıdır.
intmin ve intmax SABİTLERİ

İlgili bit sayısı ile temsil edilebilecek (işaretli/işaretsiz)


tamsayıların alabileceği en küçük ve en büyük değeri verir.
realmin ve realmax SABİTLERİ

realmin: Çift duyarlıklı kayan noktalı sayıların (64 bit) normalize


edilmiş en küçük pozitif değerini verir.

realmax: Çift duyarlıklı kayan noktalı sayıların en büyük değerini


verir.
eps SABİTİ

İki kayan noktalı sayı


arasındaki en küçük farka
eşittir.

 1.0 sayısı ile 1.0+eps


sayısı arasında kayan
noktalı başka bir sayı
bulunmamaktadır.
inf SABİTİ

IEEE 754 aritmetik temsilinde pozitif sonsuzluğu (∞) ifade eder.

Matlab
yorumlayıcısının inf
sabitini sonuç olarak
ürettiği durum
NaN SABİTİ

İngilizce Not a Number kelimesinin


ilk harflerinin oluşturduğu bir
kısaltmadır.

 IEEE 754 aritmetik temsilinde


tanımlanmamış sayısal sonuçları
ifade eder.
 Örneğin 0/0 işleminin sonucu
Sayı Görüntüleme Formatı
• Bir işlemin sonucu, varsayılan (default) olarak ondalık ayracından sonra 4
basamak duyarlılık ile gösterilir.

• Ondalık hane sayısı format fonksiyonu ile değiştirilebilir.

Konum İşlev
bank Ayraçtan sonra gösterilen ondalık hane sayısı:2

short Ayraçtan sonra gösterilen ondalık hane sayısı: 4


format
long Ayraçtan sonra gösterilen ondalık hane sayısı: 15

rat Rasyonel sayı (pay/payda) formunda gösterilir.


hex Hexadecimal sayı biçiminde gösterilir.
Sayı Görüntüleme Formatı
 format bank
Sayı Görüntüleme Formatı
 format long
Sayı Görüntüleme Formatı
 format rat
Sayı Görüntüleme Formatı
• UYGULAMA 1:
>>a=22/5 i bank, short, long ve rat formatları için test ediniz.

UYGULAMA 2: Ayrıca aşağıdaki komutlar dizisini çalıştırınız.


>>format rat
>>a=22/5
>>b=1/3
>>c=a+b
>>format
>>c
MATLAB PROGRAMLARINA KLAVYEDEN
VERİ AKTARIMI

"input" komutu yardımıyla bir MATLAB programı içerisinde


değerlendirilmek üzere kullanıcıdan klavye yoluyla bir veri alınır ve bu veri
bir değişkene atanır.
input KOMUTU İLE KLAVYEDEN SAYISAL VERİ
TEMİNİ
>> sayi1=input('Lutfen 1. Sayiyi Giriniz= ')
Tek tırnaklar arasına nasıl bir bilgi
>> sayi1=input('8') girmesi gerektiği hususunda
kullanıcıya verilecek uyarı mesajı
yazılır.
input KOMUTU İLE KLAVYEDEN METİNSEL
VERİ TEMİNİ
>> isim=input('Lutfen Isminizi Giriniz = ', 's' )

You might also like