makine müh. & jeoloji müh
DESCRIPTION
M ATLAB ’ de P rogramlama. Makine Müh. & Jeoloji Müh. 2012-13/ Bahar. Matlab Ders Notları. KAYNAKLAR MATLAB ve P rogramlama , D r. A slan İ nan , Papatya yayınları, 2004. MATLAB, Ömer Gündoğdu, Osman Kopmaz, M. Akif Ceviz, Paradigma Akademi, 2003. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/1.jpg)
Matlab Ders Notları
MATLAB’ de
Programlama
Makine Müh. & Jeoloji Müh.
2012-13/ Bahar
![Page 2: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/2.jpg)
Matlab Ders Notları
KAYNAKLAR
1. MATLAB ve Programlama, Dr. Aslan İnan, Papatya yayınları, 2004.
2. MATLAB, Ömer Gündoğdu, Osman Kopmaz, M. Akif Ceviz, Paradigma Akademi, 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, Vipaş, 2000.
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.
![Page 3: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/3.jpg)
MATLAB Ders Notları
KKonular:onular:
MMATLAB ortamının tanıtımıATLAB ortamının tanıtımı
Matlab sistemi (ara yüzey tanıtımı)Matlab sistemi (ara yüzey tanıtımı)
a)a) Geliştirme ortamıGeliştirme ortamı
b)b) Komut penceresiKomut penceresi
c)c) Başlatma penceresi (launch pad)Başlatma penceresi (launch pad)
d)d) WorkspaceWorkspace
e)e) HistoryHistory
f)f) Current directoryCurrent directory
![Page 4: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/4.jpg)
MATLAB Ders Notları
MATLAB, 1970' lerin sonunda, New Mexico ve Stanford Üniversiteleri tarafından geliştirilmiştir. Fortran ve C gibi gelenekselleşmiş dillerde program yazmaksızın, matrislere dayalı problemleri çözmede kullanılmak üzere bir sayısal hesaplama kütüphanesi sunmak amacıyla, MATris LABoratuvarı (MATrix LABoratory) programı olarak tasarlanmış, Fakat daha sonra, Optimization Toolbox ve Control System Toolbox gibi bazı toolbox’lar eklenerek geliştirilmiştir. Jack Little ve Steve Bangert birlikte 1984 MathWorks şirketini kurup ticari bir şirket haline getirmislerdir (Web sayfası: http://www.mathworks.com/)
MATLAB bir yorumlayıcıdır (interpreter); yani sonuç, daha ziyade eltipi hesap makinelerine benzer tarzda ekranda yazılı bir metin olarak alınabilir. Neticede diğer dillerde olduğu gibi “derleme”ye (compiler) ihtiyaç yoktur; fakat programlamaya izin vermesinden dolayı da güçlü bir paket programdır.
MMATLABATLAB
![Page 5: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/5.jpg)
MATLAB Ders Notları
z(x,y) = x exp( - x^2 - y^2): >> [x,y] = ndgrid(-2:.2:2, -2:.2:2); >> z = x .* exp(-x.^2 - y.^2); >> mesh(z)
05
1015
2025
0
10
20
30-0.5
0
0.5
![Page 6: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/6.jpg)
MatLab Uygulama Alanları• Algoritma geliştirme ve kod yazma, yani programlama• Matematiksel (nümerik ve sembolik) hesaplama işlemleri.• Lineer cebir, istatistik, Fourier analizi, filtreleme, optimizasyon,
sayısal integrasyon vb. konularda matematik fonksiyonlar.• 2D ve 3D grafiklerinin çizimi• Modelleme ve benzetim• Grafik oluşturma• Veri analizi ve kontrolü• Gerçek dünya şartlarında uygulama geliştirme• Matlab programı kodu C/C++ diline dönüştürebilir,• 20. dereceden bir denklemin köklerini bulabilir,• 100x100 boyutlu bir matrisin tersi alınabilir,• Bir elektrik motoru gerçek zamanda kontrol edilebilir,• Bir otobüsün süspansiyon simülasyonunu yapılabir,
![Page 7: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/7.jpg)
Matlab Toolbox
![Page 8: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/8.jpg)
MATLAB dan Görünüm
• Gerekli pencereleri varsayılan düzende görüntülemek için: Desktop menüsünden Desktop Layout > Default seçilmelidir.
![Page 9: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/9.jpg)
MATLAB dan Görünüm
• Matlab: File, Edit, Debug, Window ve help menülerinden oluşmaktadır.
• Matlab ortamı bir çok alt pencereden meydana gelmektedir. – Komut penceresi (Command Window) : Kullanıcı matlab da
komutlarını iki şekilde yazabilir. Command Window diğeri ise Editör ortamını kullanarak.
– Aktif Klasör (Current Directory): O anda aktif olarak çalışan klasör içindeki dosyalara ilişkin içeriğini görüntüleme, dosya açma,
– Çalışma alanı (Workspace): Komut satırından ya da çalıstırılan bir dosya ya da fonksiyon ile hafızada olusturulan değiskenlerin adlarının, tiplerinin ve özelliklerinin görüntülendiği penceredir. Bu alana çalısma alanı denir.
![Page 10: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/10.jpg)
MATLAB dan Görünüm
– Geçmiş Komut listesi ( Command History) : Bu pencere yardımı ile daha önce kullanılmış olan komutlara ulaşılabilir.
– Başlatma penceresi (launch pad): Matlab kısayollarının bulunduğupenceredir.Bu pencereden Matlab uygulamalarına, simulink penceresine, araç kutularına ve blok setlerine ulasılabilir.Örneğin Matlab ile ilgili yapılabilecek olan islemler hakkında bilgi sahibi olmak için bu pencereden yararlanabiliriz.Örneğin Matlab ile ilgili yapılabilenleri, demo olarak izlemek istersek; MATLAB-Demos sekmesine tıklamalıyız.Karsımıza Desktop Environment, Matrices, Numerics, Graphics, Language ... gibi alt bölümler çıkar.
– Yardım Penceresi (Help Window) : Komut pencersinde help yazarak yardım pencerisini yada Menüden Help seçeğine tıklayarak ulaşabilirsiniz.
![Page 11: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/11.jpg)
MATLAB Ders Notları
1. Temel BilgilerKomut 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 ifadesini yazıp Enter tuşuna basılınca,
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ı 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ğ 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, Enter 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.
![Page 12: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/12.jpg)
MATLAB Ders Notları
2. MATLAB DEĞİŞKENLERİ VE KURALLARDiğ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.
Ö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.
Diğer bilgisayar dillerinde olduğu gibi MATLAB’ın da değişken isimleri konusunda bazı kuraları vardır.
Değişkenler: Degiskenler verileri tutmak icin kullanilir. Her tanımlanan bir değisken belirli bir yer ayrılmasına neden olur. MATLAB bir değişken ile karşı karşıya geldiğinde, otomatik olarak bu değişkeni 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.
Deyim oluşturma gurupları: Değişkenler, rakamlar, işletmenler ve fonksiyonlardır. MATLAB deyimleri ise komut ortamında yazılan her türlü komut satırlarıdır.
![Page 13: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/13.jpg)
MATLAB Ders Notları
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.
3- Değişken isimleri daima bir harf ile başlamalı ve bunu herhangi bir sayıda harfler, rakamlar veya alt çizgi ”_” izleyebilir. Noktalama işaretleriNoktalama işaretleri değişken isminde kullanılmaz. Çünkü bunların pek çoğunun MATLAB için bir anlamı vardır.
4- Değişken adı içinde Türkçe harfler olmamalıdır.
5- Matlab ortamında tanımlı olan komut adları değişken ismi olarak kullanılamaz.
Not: isvarname değişkenismi komutun sonucu 0 ise değişken ismi olarak kullanılamaz, 1 ise kullanılabilinir.
2- Değişken isimleri en fazla 31 karakter içerebilir. Bundan fazla olanlar dikkate alınmaz
![Page 14: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/14.jpg)
MATLAB Ders Notları
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. Sanal 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
![Page 15: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/15.jpg)
MATLAB Ders Notları
İşletmenler (Operatörler) : MATLAB deyimler içerisinde alışageldik aritmetik 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 işlemlerde öncelik hakkı:Matematik 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 MATLAB da kullanılan işlemlerde, işlemlerin öncelik listesi verilmiştir.
![Page 16: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/16.jpg)
MATLAB Ders Notları
Öncelik İşlem1. ParantezParantez2. Ü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. 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 bazıları aşağıdaki Tablo’da listelenmiştir.
Fonksiyon Sembol Örnek
Sinüs, sin() sin sin(pi)sin(pi)
Cosinüs, cos() cos cos(pi)cos(pi)
Tanjant, tan() tan tan(pi)tan(pi)
Arksinüs, arcsin() asin asin(0)asin(0)
Arkkosinüs, arccos() acos acos(0)acos(0)
Arktanjant, arctan() atan atan(1)atan(1)
FonksiyonFonksiyon SembolSembol ÖrnekÖrnek
Eksponensiyal, ex exp exp(2)
Doğal logaritma ln(x) log log(10)
10 tabanlı logaritma log10 log10(10)
Kare kök, x sqrt sqrt(25)
Mutlak değer, |x| abs abs(3)
![Page 17: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/17.jpg)
MATLAB Ders Notları
MATLAB’ DE DEĞİŞKEN TİPLERİ MATLAB’ DE DEĞİŞKEN TİPLERİ
Double:
Skaler veya vektörlerden oluşan sayısal değişkenleri ifade eder.
Char:
Tek bir karakter veya karakter grubundan oluşan skaler veya dizinleri ifade eder.
MATLAB’ DE DEĞİŞKEN ATAMALARIMATLAB’ DE DEĞİŞKEN ATAMALARI
EşitlikEş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
ş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 matris veya bunların birden fazlasının matematiksel işlemler ile oluşturulmuş kombinasyonları olabilir.
![Page 18: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/18.jpg)
MATLAB Ders Notları
Bir değişkene bir değer atadıktan sonra aynı değişkene farklı bir değer
atamak, o değişkenin ilk değerinin silinmesineilk değerinin silinmesine, söz konusu değişkenin
bundan sonraki işlemlerde yeni değeriyeni değeri ile işlem görmesine neden olmaktadır.
Örnek: >> a=5
>>b=a+2 b =
7
>>a=10>>b=a+2 b = 12
Skaler atamaSkaler atamaX = 3 A = 5-5i B = A / 5
Vektör atama
>>C=[1 3 2]C = 1 3 2
>> C= [1;3;2]C = 1 3 2
Matris atama
>>C=[1 3; 2 1]C = 1 3 2 1
>> C=[1, 3; 2, 1]C = 1 3 2 1
![Page 19: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/19.jpg)
Değişkenlerin içeriklerini Göstermesi
• Değişken atamalarında değişkenin değeri her zaman görüntelememiz gerekmez. Bunun için sonuna ; işareti konulur.
Değişken Silme/Yok Etme clear değişkenadı (bir değişkeni) veya clear all (tümünü)>> clear x>> clear all (veya sadece clear)
![Page 20: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/20.jpg)
Değişkenleri Listeme
Değişkenlerin listesini görmek için Who komutu ile
Değişkenlerimizin özelliklerini görmek için de whos ile
![Page 21: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/21.jpg)
Değişkenleri Saklama ve Tekrar Çağırma
Değişkenleri ya tek tek ASCII formatında yada tüm değişkenleri topluca ikili olarak .mat dosyar formatında saklayabiliriz.
>>save dosyaadı değişken_adları –ascii
>> save dosyaadı (ikiliformat)
>>save diyerek dosya adı belirtmeden direk matlab.mat altında saklar.
Saklanan değişkenleri başka bir oturumda geri getirmek için load komudu kullanılır
>>load dosyaadı değişken_adları
>>load dosyadı
![Page 22: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/22.jpg)
BİR DEĞİŞKENE DIŞARIDAN BİR DEĞER ATANMASINI İSTEMEK
“ inputinput " fonksiyonu, 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=input('x değerini giriniz= ')
x değerini giriniz=
x =
10
Matlab' da Sabit değişkenler
ans işleminin sonucu atar pi pi sayısını içerir bitmax matlab gösterebilecek maximum sayıintmax integer sayılardaki maximun değer inf sonsuz…... ….
![Page 23: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/23.jpg)
Matematiksel yazılımMatematiksel 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
???
Örnekler:
acb
abbdc
b
a
4
22
23
)**42/()**2(2*)2/3(/ cabbadbcba
afe
d
fcba
3
3).( 32
Ödev:
aa
aac
cdb
bac
abc
ax
2)(
1
43
35 3
42
İşlemini bilgisayar dilinde kodlayınız
![Page 24: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/24.jpg)
MATLAB Ders Notları
Ö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.
Örneğin:yarıçapı 2 birim olan bir kürenin alanını
>> r=2;>> alan = 4 * pi * r^2>> alan =
50.2655
>> date
ans =
19-Mar-2003
>> clock
ans =
2003 3 19 18 47 7.828
![Page 25: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/25.jpg)
Matlab ortamında sayıların tanımlanması
Numeric format Oran Virgülden sonraki Hane
Short 50.1234 4
Long 50.123415678901234 14
Short e 5.08333e+001 4
Long e 5.08333333333 14
Short g 50.833 Short veya short e den kısa gösterim
Long g 50.8333333 Long veya long e den kısa gösterim
Hex 4096aaaaaaab
Bank 50.83 Dolar yada cent cinsinden gösterim
Rational 5/10
![Page 26: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/26.jpg)
Örnek:
![Page 27: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/27.jpg)
MATLAB Ders Notları
BİR DEĞİŞKENE BİR DEĞİŞKENE DIŞARIDANDIŞARIDAN BİR DEĞER ATANMASINI İSTEMEK BİR DEĞER ATANMASINI İSTEMEK
“ inputinput " fonksiyonu, 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=input('Bir değer giriniz= ');
>> x=input('x değerini giriniz= ')
x değerini giriniz= 10
x =
10
![Page 28: Makine Müh. & Jeoloji Müh](https://reader035.vdocuments.net/reader035/viewer/2022062221/56814794550346895db4c766/html5/thumbnails/28.jpg)
MATLAB Ders Notlari
Uygulama Sorusu:
Dışardan girilen 3 sayının ortalamasını bulan bir MATLAB programı yazınız.