1 / 105

MATLAB

MATLAB. MATLAB.

farhani
Télécharger la présentation

MATLAB

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

  2. MATLAB • MATLAB, bilim adamları ve mühendislere, matrislere dayalı problemleriFortran 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. Dahasonralarıise birçok toolbox eklenerek geliştirilmiştir. MATLAB1970’lerin sonundaCleve Molertarafındanyazılmıştır. Cleve Moleraynızamanda“The MathWorks”firmasının dakurucusudur. 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.

  3. MATLABProgramının Tipik Kullanım Alanları • Algoritma geliştirme ve kod yazmada (programlama), • Matematikselhesaplama (nümerikvesembolik)yapmada, • Lineercebir,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.

  4. MATLAB Programlama Ortamının Tanıtımı • MATLAB PROGRAMLAMA ORTAMI • 1. Başlat Menüsü (Start) • 2. KomutPenceresi (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->Defaultkomutunuçalıştırınız. !!

  5. 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 ENTERtuş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.

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

  7. 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 ihlaline 2 güzel örnektir. 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.

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

  9. 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ınsanal 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+7iverilebilir.

  10. Aritmetik Operatörler:MATLAB, deyimler içerisinde aşağıdaki aritmetik operatörleri ve öncelik kurallarını kullanır. Aritmetik Operatörlerin Öncelik Sıraları: 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. MATLAB’de işlemlerin ö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)

  11. MATLAB’in Kullanıma-Hazır Bazı Matematiksel Fonksiyonları

  12. Örnekler: Uygulama : işlemini MATLAB dilinde kodlayınız.

  13. clcVEclear KOMUTLARI clckomutukomutpenceresinitemizler. 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) dockomutundan faydalanabilirsiniz. >>docsqrt

  14. MATLAB’ DE DEĞİŞKEN TÜRLERİ VE DEĞER ATAMALARI • Herşeymatris? • MATLABdeğişkenlerinedeğer olarak aşağıdakilerden herhangi birisi atanabilir: • Matris • Satır Vektörü • Sütun Vektörü • Karakter Dizisi (Katar) (String) • Skaler

  15. (İKİ BOYUTLU) MATRİSLERİN DEĞİŞKENLERE DEĞER OLARAK ATANMASI

  16. (TEK BOYUTLU) SATIR VEKTÖRLERİNİN DEĞİŞKENLERE DEĞER OLARAK ATANMASI

  17. (TEK BOYUTLU) SÜTUN VEKTÖRLERİNİN DEĞİŞKENLERE DEĞER OLARAK ATANMASI

  18. KARAKTER DİZİLERİNİN DEĞİŞKENLERE DEĞER OLARAK ATANMASI

  19. SKALERLERİN DEĞİŞKENLERE DEĞER OLARAK ATANMASI

  20. ANS DEĞİŞKENİ

  21. Ondalıklı Sayı Formatı • Bir işlemin sonucu, varsayılan (default) olarak 4 ondalık ile gösterilir. • Ondalık hane sayısı format fonksiyonu ile değiştirilebilir. • formatveya format short: 4 ondalık • format bank: 2 ondalık • format long: 15 ondalık • format rat: Ondalık sayıları rasyonel sayı olarak gösterir. • UYGULAMA 1 : >>a=22/5i yukarıdaki 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 >>format >>pi >>format long >>pi >>format

  22. 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 veribir değişkene atanır.

  23. input KOMUTU İLE KLAVYEDEN SAYISAL VERİ TEMİNİ >> sayi1=input('Lutfen1. Sayiyi Giriniz= ') Tek tırnaklararasınanasıl bir bilgi girmesi gerektiği hususunda kullanıcıya verilecekuyarımesajıyazılır. >> sayi1=input('8')

  24. input KOMUTU İLE KLAVYEDEN METİNSEL VERİ TEMİNİ >> isim=input('LutfenIsminizi Giriniz = ', 's')

  25. dispVEfprintf KOMUTLARI İLE EKRANA BİLGİ YAZDIRMA Bir önceki dersimizde input komutu ile klavye üzerinden MATLAB programlama ortamına nasıl veri aktarılacağını öğrendik. Bu dersimizde ise disp ve fprintf komutları yardımıyla ekrana nasıl bilgi yazdırılacağını öğreneceğiz.

  26. disp KOMUTU İLE EKRANA METİN YAZDIRMA

  27. disp KOMUTU İLE EKRANA SAYISAL DEĞER YAZDIRMA

  28. disp KOMUTU İLE EKRANA METİNLERİ VE SAYISAL DEĞERLERİ BİRLİKTE YAZDIRMA MATLAB’innum2str fonksiyonu kendisine parametre olarak aldığı bir sayıyı bir karakter dizisine (string) çevirir. (22 sayısı '22' olur.)

  29. fprintf KOMUTU İLE EKRANA BİLGİ YAZDIRMA GENEL KULLANIM fprintf('Ekrana Basilacak Aciklama %X\n', deger); Burada %XKısmında Kullanabileceğimiz Seçenekler : %c :deger intek bir karakter olduğunu gösterir. %s : deger inbir karakter dizisi (string) olduğunu gösterir. %d : deger inbir tamsayı olduğunu gösterir. %f : deger inbir ondalıklı sayı olduğunu gösterir. %g: deger i mümkün olan en kompakt forma sokar. Diğer yandan : \n : İmleci bir alt satırın başına götürür. (n, newline) \t : İmleci bir TAB kadar sağa kaydırır.

  30. fprintf KullanımınaÖrnekler

  31. Aşağıdaki 2 Komut Aynı İşi Yapar disp('Uzgunum! Sifira Bolum Hatasi Var.'); fprintf('Uzgunum! Sifira Bolum Hatasi Var.\n');

  32. dispve fprintfARASINDAKİ FARKLAR dispkomutu ekrana çıktı verdikten sonra bir alt satıra otomatik olarak atlar. fprintfkomutunu bir alt satıra götürebilmek için ise \nkullanılmalıdır. Ayrıca disp komutu satır veya sütun vektörleri ile matrisleri ekrana kolayca yazdırabilirken aynı işlemi fprintf ile yapabilmek daha çok işlem gerektirmektedir.

  33. MATLAB’DE PROGRAMLAMA MATLAB’de programlama genel olarak iki yolla yapılır: • Komut satırında (inline) programlama • m-dosyaları ile (m-files) programlama • Düzyazı (script) m-dosyaları ile programlama • Fonksiyon (function) m-dosyaları ile programlama m-dosyaları oluşturabilmek için ise bir metin düzenleyicisine (editor) ihtiyaç vardır.

  34. Düzyazı M-Dosyaları ile Programlama • Bir düzyazı (senaryo dosyası) (script file) özel bir görevi yerine getirmek için gerekli MATLAB komutlarının saklandığı bir metin dosyasıdır. Başka bir ifadeyle; bir hesaplamayı gerçekleştirmek için yazılacak birçok komut dizisi, komut penceresinden tek tek girmek yerine bir dosyada saklanır vedaha sonra bu dosya çalıştırılarak bu komutlar icra edilir. • Bu dosyaların MATLAB’in Çalışma Dizini(CurrentFolder) altında"DosyaAdi.m" şeklinde saklanmaları gerekir. • DOSYA ADLARITÜRKÇE KARAKTERLER VE BOŞLUKLAR İÇERMEZLER.!!!!!!!! • MATLAB DOSYALARI İSİMLENDİRİLİRKEN PASKAL NOTASYONUNDAN FAYDALANILIR. • MATLAB programlama ortamı, m-dosyalarının oluşturulmasını kolaylaştıran akıllı bir metin düzenleyicisine (text editor) sahiptir. m-dosyaları Windows’un Notepad i gibi herhangi bir metin düzenleyicisi ile de yazılabilirler. Bir düzyazı m-dosyası oluşturmak için “Current Folder” penceresinde boş bir alana sağ tıklayıp “NewFile>Script”yolu takip edilmelidir.

  35. Programı yazma işlemi bittikten sonra ve programı çalıştırmadan önce muhakkak kaydediniz.

  36. İLİŞKİSEL OPERATÖRLER İlişkisel operatörler, işlenenleri arasındaki eşitlik, eşitsizlik, büyüklük veya küçüklük türünden ilişkileri belirleyen operatörlerdir.

  37. İlişkisel operatörler sonuç olarak 1 (BİR) (true)veya0 (SIFIR)(false) değerlerini üretirler.

  38. Eşitlik testinde 2 adet "==" işareti kullanılır. Oysa değişken atamalarında kullandığımız eşittir "=" 1 tanedir. • MATLAB komut penceresinde3=5 yazdığımızdaprogram hata verir. Oysa 3==5 yazdığımızda bu “3, 5'e eşit midir?" anlamına gelir, karşılaştırma yanlıştır ve MATLAB bu durum için 0 (Sıfır) sonucunu üretir.

  39. İLİŞKİSEL OPERATÖRLERİN ÖNCELİK SIRALARI • İlişkisel operatörler aritmetik operatörlerden daha düşük bir işlem önceliğine sahiptirler. • Örneğin komut penceresinde 3+4<7-5 şeklinde çalıştırılacak bir MATLAB deyimi arka planda önce 7<2 formuna dönüştürülür ve ilişkisel test (küçüklük testi) daha sonra gerçekleştirilir. • Benzer şekilde i+j==10 gibi bir eşitlik testi, öncelikle hesaplanan i+j aritmetik işleminin sonucu ile 10 sayısı arasında gerçekleştirilir. • Yukarıdaki deyimler, karışıklığa meydan vermemek için (3+4)<(7-5) ve (i+j)==10 formlarına sokulabilirler.

  40. MANTIKSAL OPERATÖRLER Mantıksal operatörler de ilişkisel operatörler gibi sonuç olarak 1 (BİR) (true)veya0 (SIFIR)(false) değerlerini üretirler.

  41. MANTIKSAL OPERATÖRLERİN DOĞRULUK TABLOLARI A ~A 0 1 1 0

More Related