1 / 28

Makine Müh. & Jeoloji Müh.

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.

telyn
Download Presentation

Makine Müh. & Jeoloji Müh.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MATLAB’ de Programlama Makine Müh. & Jeoloji Müh. 2012-13/ Bahar Matlab Ders Notları

  2. KAYNAKLAR • MATLAB ve Programlama, Dr. Aslan İnan, Papatya yayınları, 2004. • MATLAB, Ömer Gündoğdu, Osman Kopmaz, M. Akif Ceviz, Paradigma Akademi, 2003. • MATLAB 6.5, A. Emre Çetin, Alfa Yayınları, 2003. • MATLAB ile Mühendislik Sistemlerinin Analizi ve Çözümü, İbrahim Yüksel, Vipaş, 2000. • Her yönü ile MATLAB, Mehmet Uzunoğlu, Ömer Çağlar Onar, Ali Kızıl, Türkmen Kitabevi, 2003. • MATLAB ile Mühendislik Sistemlerinin Analizi, Uğur Arifoğlu, Alfa Yayınları, 2003. Matlab Ders Notları

  3. Konular: • MATLAB ortamının tanıtımı • Matlab sistemi (ara yüzey tanıtımı) • Geliştirme ortamı • Komut penceresi • Başlatma penceresi (launch pad) • Workspace • History • Current directory MATLAB Ders Notları

  4. MATLAB 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. MATLAB Ders Notları

  5. 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) MATLAB Ders Notları

  6. 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,

  7. Matlab Toolbox

  8. 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.

  9. 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 yada çalıstırılan birdosya ya dafonksiyon ilehafızadaolusturulandeğiskenlerinadlarının, tiplerininve özellikleriningörüntülendiğipenceredir.Bu alanaçalısma alanı denir.

  10. 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 setlerineulasılabilir.Örneğin Matlab ile ilgili yapılabilecek olanislemler hakkında bilgi sahibi olmak için bu penceredenyararlanabiliriz.Örneğin Matlab ile ilgili yapılabilenleri,demo olarak izlemek istersek; MATLAB-Demossekmesine tıklamalıyız.Karsımıza Desktop Environment,Matrices, Numerics, Graphics, Language ... gibi altbö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.

  11. 1.Temel Bilgiler 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 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. MATLAB Ders Notları

  12. 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, işletmenler ve fonksiyonlardır. MATLAB deyimleri ise komut ortamında yazılan her türlü komut satırlarıdı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. Ö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. MATLAB Ders Notları

  13. 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. 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. Noktalama 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. MATLAB Ders Notları

  14. 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 MATLAB Ders Notları

  15. İşletmenler (Operatörler) :MATLAB deyimler içerisinde alışageldik aritmetik operatörler ve öncelik kuralları kullanır. 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. MATLAB Ders Notları

  16. Öncelikİşlem 1. Parantez 2. Üst alma, soldan sağa doğru 3. Çarpma ve bölme, soldan sağa doğru 4. Toplama 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. MATLAB Ders Notları

  17. 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 ATAMALARI Eşitlikİfadeleri ile Değişken Atamaları Bu şekildeki bir değişken atamasının genel hali, >> değ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. MATLAB Ders Notları

  18. 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 silinmesine, söz konusu değişkenin bundan sonraki işlemlerde yeni 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 Matris atama >>C=[1 3; 2 1] C = 1 3 2 1 >> C=[1, 3; 2, 1] C = 1 3 2 1 Vektör atama >>C=[1 3 2] C = 1 3 2 >> C= [1;3;2] C = 1 3 2 Skaler atama X = 3 A = 5-5i B = A / 5 MATLAB Ders Notları

  19. Değişkenlerin içeriklerini Göstermesi Değişken Silme/Yok Etme cleardeğişkenadı (bir değişkeni) veya clearall (tümünü) >> clear x >> clear all (veya sadece clear) Değişken atamalarında değişkenin değeri her zaman görüntelememiz gerekmez. Bunun için sonuna ; işareti konulur.

  20. Değişkenleri Listeme Değişkenlerimizin özelliklerini görmek için de whos ile Değişkenlerin listesini görmek için Who komutu ile

  21. 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ı

  22. BİR DEĞİŞKENE DIŞARIDAN BİR DEĞER ATANMASINI İSTEMEK >> x=input('xdeğ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 ….. . …. “ input " 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,

  23. Örnekler: Ödev: İşlemini bilgisayar dilinde kodlayınız

  24. Ö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 MATLAB Ders Notları

  25. Matlab ortamında sayıların tanımlanması

  26. Örnek:

  27. BİR DEĞİŞKENE DIŞARIDAN BİR DEĞER ATANMASINI İSTEMEK “ input " 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('xdeğerini giriniz= ') x değerini giriniz= 10 x = 10 MATLAB Ders Notları

  28. Uygulama Sorusu: Dışardan girilen 3 sayının ortalamasını bulan bir MATLAB programı yazınız. MATLAB Ders Notlari

More Related