Anzeige

matlab.pptx

27. Nov 2022
Anzeige

Más contenido relacionado

Anzeige

matlab.pptx

  1. MATLAB SAYISAL ANALİZ
  2. 2 1. Kaynakça Sayısal Analiz 1. Octave http://www.gnu.org/software/octave/download.html 2. Matlab http://www.mathworks.com/products/matlab/ 3. Excel 4. Steven T. Karris, Numerical Analysis Using MATLAB and Excel, Third Edition, 2007, Orchard Publications 5. MATLAB, The Language of Technical Computing, Getting Started with MATLAB, Version 5 6. Mehmet Uzunoğlu- Ömer Çağlar Onar, Her Yönü ile Matlab, 2003 Baskı 7. MATLAB PROGRAMLAMAYA GİRİŞ, http://www.tugrulaktas.com/dersnotlari/Matlap/matlab[2].pdf 8. Ali Yazıcı ders notları, Matlab 7.0, hızlı öğrenme Klavuzu, Sayısal Yöntemler Derleyen: A.Gün, Denetleyen: A.Karamancıoğlu, OGU-EE.003, Ağustos 2002, MATLAB’E GiRİŞ 9. CORS-TR, Ders 2 : MATLAB ile Matris İşlemleri Eğitim,Seminerleri Serisi : MATLAB’e Giriş 10. http://www.mathworks.com/matlabcentral/
  3. Sayısal Analiz 1. Kapsam o 1. Matlab'ın Genel Yapısı o 2. Matlab Kullanımında Temel Kurallar o 3.1. İfadeler o 3.2.Değişlenler o 3.3. Sayılar o 3.4 Operatörler(sayısal işlemciler) o 3.5. Fonksyonlar o 3.6. Özel Sabitler o 4. Vektörler o 5. Matlab'da Dizi (Matris) İşlemleri o 5.1. Matrislerde Elemanlar o 5.2. Genel Matrisler o 6. Matrisler ve İşlemler 3
  4. Matlab; yüksek performanslı bir teknik programlama dilidir. Matlab açılımı ingilizce “MATrix LABoratory” den gelmektedir. Başlangıçta MATLAB özellikle mühendislik alanında, iyi grafik özelliklere sahip daha çok sayısal hesaplamalarda kullanılmak amacı ile geliştirilmiş bir paket programlama dili olarak ortaya çıkmıştır. Matlab; matrix esaslı matematik ortamında kullanılmak üzere geliştirilmiş etkileşimli bir paket programlama dilidir. İlk sürümleri Fortran diliyle hazırlanmış olmakla beraber son ürümleri (2000 yılı itibari ile 5.1) C dilinde yazılmıştır. 1. MATLAB Sayısal Analiz 4
  5. 1. MATLAB MATLAB mühendislik alanında; Matematik ve hesaplama işleri, algoritma geliştirme. Verilerin analizi, incelenmesi ve görüntülenmesi. veri çözümleri ve grafik işlemlerinde Modelleme, benzetim ve prototipleme. kullanılabilecek genel amaçlı bir program olmakla beraber özel amaçlı modüler paketlerede sahiptir. Fortran ve C dili gibi yüksek seviyeli programlama dili ile yapılabilen hesaplamaların pek çoğunu MATLAB ile yapmak mümkündür. Sayısal Analiz 5
  6. 1. MATLAB 1970’lerin sonunda Cleve Moler tarafından yazılan Matlab programının tipik kullanım alanları: Matematiksel hesaplama işlemleri Algoritma geliştirme ve kod yazma Lineer cebir,istatistik,Fourier analizi,filtreleme,optimizasyon,sayısal integrasyon vb. konularda matematik fonksiyonlar 2D ve 3D grafiklerinin çizimi Modelleme ve simülasyon (benzetim) Grafiksel arayüz oluşturma Veri analizi ve kontrolü Gerçek dünya şartlarında uygulama geliştirme şeklinde özetlenebilir. Sayısal Analiz 6
  7. oMatlab'ın resmi sitesi: http://www.mathworks.com, oörnek uygulama ve teknik literatür için: www.mathworks.com/applications/tech_comp...nicalliterature.html Ayrıca http://www.mathworks.com/matlabcentral/ : kod paylaşımı oMatlab’in Türkiye temsilcisi Bursa merkezli Figes firmasıdır. oWeb adresi: http://www.figes.com.tr oHaber grubu: matlabturk@yahoogroups.com 1. MATLAB Sayısal Analiz 7
  8. 1. MATLAB Sayısal Analiz Matlab matrix tabanlı bir dildir. Matlabda ilk başlangıçta herşeyi matris olarak düşünmek yararlı olacaktır. 8
  9. 1. MATLAB Sayısal Analiz oAraç kutuları,özel sorunların çözümü için MATLABa uyarlanan MATLAB işlevlerinin bir tür kitaplıklarıdır. oAraç kutuları, açık ve eklenebilir olup; kendi algoritmalarını ve ekini görebilirsiniz. oSimulink : oBlok diyagram arayüzü ile doğrusal olmayan simulasyonu ve “canlı” simulasyon yetenekleriyle öz sayıları, MATLAB’ın grafiklerini ve dil fonksiyonlarını birleştiren bir sistemdir. 9
  10. oMatlaba başlamanın en iyi yolu matrislerin nasıl ele alınması gerektiğini öğrenmektir. oMATLAB da bir matrix, dikdörtgen sayılar dizisidir. o1x1 matrisscaler sayı, omx1 matrissütun m a t r i s io1xn matrissatır matrisi omxn m a t r i s  m satırlık ,n sütunluk matristir. 1. MATLAB Sayısal Analiz 10
  11. 11 1. Program Nasıl Başlatılır? Başlat -->Tüm Programlar-->Matlab veya Command Window: Matlab 2. Program Nasıl Sonlandırılır? MATLAB Programlama dilini sonlandırmak için >> quit yada >> exit komutları kullanılır. 1. Matlab'ın Genel Yapısı MATLAB
  12. MASA ÜSTÜ KOMUT PENCERESİ Çalışma Dizini Çalışma Alanı Komut Geçmişi Komut Satırı MATLAB programını ilk çalıştırdığınızda karşınıza çıkacak ekran aşağıdaki gibidir. 1. Matlab'ın Genel Yapısı MATLAB 12
  13. Matlabı çalıstırdığımızda, karsımıza ana pencere gelir. Bu pencerede File, Edit, Debug, Parallel, Desktop, Window ve Help ana baslıkları vardır. Bu baslıklar altından, diğer Windows programlarında alısılagelmis benzer islemler 1. Matlab'ın Genel Yapısı MATLAB 13
  14. Burada DesktopDesktop Layout ile Matlabın masaüstü düzenleyebilirsiniz. Örneğin; Default ile varsayılan görünümünü, Command Window Only ile sadece klasik komut penceresini yerlesimini 1. Matlab'ın Genel Yapısı MATLAB 14
  15. Command Window: Bu pencere komut penceresidir Bu pencereden Matlab ile ilgili komutları klavyeden girer, komutun islemesini sağlamak için de Enter tusuna basılır. Komutları girdiğimiz satır >> ile baslar ki bu satıra komut satırı denir Eg.Yarıçapı 3.6 olan bir daire alanı hesaplayalım 1. Matlab'ın Genel Yapısı MATLAB 15
  16. Command History Bu pencere o ana kadar komut satırından girilen komutları gösterir. İstersek bunların birini fareyle seçer, ya da bir kaçını veya tümünü fare ve asağı-yukarı yön tusları yardımıyla seçer ve delete tusuna basarak silebiliriz 1. Matlab'ın Genel Yapısı MATLAB 16
  17. 1. Matlab'ın Genel Yapısı Workspace oKomut 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. oÇalışma Alanı MATLAB’da işletilen fonksyonların veya komutların oluşturduğu değişkenlerin depolandığı bir merkezdir. oBöylelikle tüm değişkenlere belli bir kaynaktan ulaşılabilmektedir, bu da programlama sırasında değişkenlerin yerini, belirtmeden, bu değişkenleri kullanma imkanı sağlamaktadır. Üstüne sağ tuş yapıp özellikler eklenebilir eg.size MATLAB 17
  18. Workspace Örneğin: c  değis k eni 1x1 boyutunda bir matris yanisayı, bdeğiskeninin ise 3x2 boyutunda bir matris, yani üç satır ve 2s ü t u n d a n olusan bir matris, nasılsınadlı değisken de 6 karakterden olusan bir karakter zinciri(string) olduğu görülür. 1. Matlab'ın Genel Yapısı MATLAB 18 Örnek : Command Window’a alttaki değerleri yazıp inceleyin: a = 4; b = 5; c = a*b nasılsın=‘iyidir’
  19. Matlab Dizi Editörü oA değişkenine çift tıklandığında Matlab Dizi Editörü açılır. oBurda değişkenlerin içerikleri görüntülenir ve değiştirilebilir. 1. Matlab'ın Genel Yapısı MATLAB 19
  20. who : çalışma alanında hangi değişkenler olduğu whos: bu değişkenlerin yapıları görülmektedir. what; komutu kullanıcı diskinin halihazır dizininde mevcut M- dosyaları listesini verir. 1. Matlab'ın Genel Yapısı MATLAB 20
  21. clc: Komut penceresindeki satırları silmeye yarar clear: Hafızadaki değişkenler silinir 1. Matlab'ın Genel Yapısı MATLAB 21
  22. Matlab Çalışma Dizini penceresindeki “ aşağı ok” basılarak çalışma dizini seçilebilir. Current Folder’da çalışmak istenilern directory yönlendirilerek hızlı ulaşım sağlanır. 1. Matlab'ın Genel Yapısı MATLAB 22
  23. 23 Current Folder: Matlab dosyalarının kaydedildiği, yüklendiği dosyaların bulunduğu klasörü (dizin), varsayılan klasör olarak belirlemeye yarar. Aksi belirtilmedikçe bu klasör C:Matlab6p5work gibi bir klasördür. Yada : save F:MATLAB_UYGkatsayilar a katsayilar.mat olarak kaydedilen a matrisininmatlab kapatılıp açıldıktan sonra herhangi bir zamanda geri çağrılmasıiçin; load F:MATLAB_UYGkatsayilar komut dizisi kullanılır. Command Windowa : save yazılırsa değişkenler “matlab.mat” veri dosyasına kaydedilmiş olur. Matlabı kapatıp açalım ve matlab.mat’ı çağıralım. (File open matl ab.mat) . 1. Matlab'ın Genel Yapısı MATLAB Örnek: >> a=[1,2,3; 5,7,9] a = 1 2 3 5 7 9
  24. 24 MATLAB Yardım 1.Komut satırına “help” yazılır. Bu yardım sunulabilecek konuların listesini sunar. 2. help fonksyon-adı fonksyon için yardım metnini görüntüler. 1. Matlab'ın Genel Yapısı MATLAB
  25. 25 Yeni M- Dosyası Dosya Aç Help Desk Kayıtlı Matlab Fonksyonu, kayıt dosyası(mat), modeli, figürü ve GUI arayüzlü fonksyonları açar Veri dosyalarını açar Çalışma ortamını kaydeder Farklı çalışma dizinini Matlaba tanıtır Matlab arayüzünü ayarlar 1. Matlab'ın Genel Yapısı Matlab MasaÜstü MATLAB
  26. kutuları, eklenti Matlab olarak hazır fonksyonları Matlab araç uygulamalarına hazırlanan ve içeren paketlerdir. 1. Matlab'ın Genel Yapısı Başlat Düğmesi MATLAB 26
  27. Başlat Düğmesi Matlab Uygulamaları için kısa yol Araç kutuları SimulinkUy gulaması Demolar 1. Matlab'ın Genel Yapısı Start Düğmesi tüm matlab uygulamalarına açılan kısayolları içermektedir. Veri Sihirbazı GUI Hazırlayıcı MATLAB 27
  28. 28 Matlaba Veri Alma Programa dışarıdan resim, film, veri, ses dosyalarını çevirerek bir değişken olarak atamada kullanılır matris formatına F ile  I mport D a t a Örnek: Exel dosyası alma Exelde bir matrix oluşturup matlabdan import ile alınız. 1. Matlab'ın Genel Yapısı MATLAB
  29. 'break‘ 'case' 'catch' 'continue' 'else' 'elseif' 'end‘ 'for' 'function' 'global' 'if' 'otherwise‘ 'persistent' 'return' 'switch' 'try' 'while. 1. Matlab'ın Genel Yapısı Matlab'da Temel Kavramlar: Tüm programlama dillerinde olduğu gibi (Fortran, C, Pascal, Basic vs..) Matlab'ın da özel anlam tasıyan bazı kelimeleri vardır ki, bu kelimeler değisken olarak kullanılamazlar. Bu tür kelimelere anahtar kelime (keywords) denir. Bu kelimelerin bir listesini almak için komut satırına; iskeyword komutunu yazarak elde edebiliriz. Bu kelimeler; MATLAB 29
  30. Programın dili ve yardım bilgileri tamamen ingilizcedir. Küçük-büyük harf ayrımı vardır. Örneğin dscrite, DSCRITE ve Dscrite atamaları farklı şekilde algılanır Eğer istenirse “casesen off”komutu ile bu durum sona erdirilebilir. » işareti komut prompt’udur. Komutlar Enter ile yürütülür. 2. Matlab Kullanımında Temel Kurallar: Matlab 30
  31. Genel komutların isimleri ve açıklamaları MATLAB 2. Matlab Kullanımında Temel Kurallar: 31
  32. MATLAB 2. Matlab Kullanımında Temel Kurallar: MATLAB kontrolünü kullanabilmeniz için özel karakterlere sahiptir. Bu karakterlerin bir özeti : 32
  33. 2. Matlab Kullanımında Temel Kurallar: Matlab 33
  34. 3 2. Matlab Kullanımında Temel Kurallar: Matlab 4
  35. 35  İFADELER : Matematiksel ve metinsel gösterimler ile işlemler ifadelerle sağlanır. Sayılar (Numbers) Değişkenler (Variables) İşleçler (Operators) Fonksiyonlar (Functions)  Matlab’de ifadeler genellikle değişken = ifade veya sadece ifade formundadır. Sayısal Analiz x = 4 * sqrt(5) İfade değişken sayı işleç fonksiyon Bir ifade = işareti ile bir değişkene atanmamış ise Matlab otomatik olarak sonucu, ans (answer) adı verilen özel bir değişkende saklar. 3. MATRİSLER
  36. o Birden fazla ifade tek satırda aralarına , ya da ; koyarak yazılabilir. o Yazımda boşluk sayısı etkisizdir. o Sadece ilgili değişken adını yazarak o değişkeni çağırabilirsiniz. MATRİSLER 3.1. İFADELER 36
  37. o MATLAB’da, herhangi bir tip tanımlaması veya boyut ifadesine gerek yoktur. oMATLAB, yeni bir değişken ismi ile karşılaştığında, otomatik olarak ans isminde bir değişken oluşturur ve uygun bir bellek miktarı ayırır. oEğer değişken zaten varsa, MATLAB gerekli bir bellek ayırdığında içeriği değişir. Örneğin, o ogrenci_sayı=51 3.2. Değişlenler Matlab 37 Değisken: değeri değisebilen bellek alanına isaret eden değerlere,
  38. MATLAB değişken girişleri için çeşitli kurallara sahiptir. Her değişken bir harfle başlamak zorundadır. Program büyük küçük harf duyarlıdır. X ve x farklı değişkenleri ifade eder. Program 31 basamağa kadar duyarlıdır. Bu basamaktan sonrasını yok sayar. Dolayısıyla 31 basamaktan uzun değişken isimleri karışıklık yaratabilir. 3.2. Değişlenler Matlab 38
  39. Değiskenlere Değer Atama: Her hangi bir programlama dilinde olduğu gibi, Matlab’da da bir değiskene değer verme islemine ”değer atamak” denir. Bir değiskene atanan değer, değistirilmediği sürece aynı kalır. Değer atamanın genel kullanımı asağıdaki biçiminde olur: <Değisken adı>=<Atanacak değer>; 3.2. Değişlenler Matlab 39
  40. Örnek 2: A=6i-7; B=A /7; C=[3 4 5 6]; %A: değişkenine skaler bir değer atar %B değişkenine A değişkeninin 1/7 si atanmıştır % 4 elemanlı bir satır vektörü atanmıştır NOT: Dizi girişinde herhangi bir satıra ait elemanlar aralarına boşluk veya virgül “,” konularak ayrılır Dizinin diğer bir satırına başlamak için biten satır sonuna ; konulur. 3.2. Değişlenler Matlab 40
  41. oMATLAB’da sayılar yaygın olarak kullanılan onluk tabanda ifade edilirler. o Bunun yanısıra onluk tabanda üstel olarak veya i veya j olarak kompleks sayı biçimlerinde de ifade edilebilirler. oÖrnek olarak, 3.3. Sayılar Matlab da i ve j başka türlü tanımlanmamışsa kompleks i sayısını gösterir. 3e5 sayısıda 3*105 anlamındadır MATRİSLER 41
  42. o Ondalık sayılar Türkçemizdeki 3,5 yerine 3.5 şeklinde gösterilir (0.0001 veya 9.63, 0.65 yerine .65). o Bilimsel notasyon gösterimi olan e (veya E) harfi 10’nun kuvvetini temsil eder. o 2e4=2.104=2000 veya 1.65e-20=1.65.10-20 demektir. o Kompleks sayılarda imajiner (sanal) kısımlar i veya j ekini alır. i veya j ile gosterimlerinde bir fark yoktur. o (1+3i veya 1+3*i veya 1+i*3) / 1+sqrt(3)*j / -5i o Matlab’de tüm sayılar, yaklaşık 2.10308 ve 2.10-308 arasında değişir. 3.3. Sayılar MATRİSLER 42
  43. Sayı Formatları: 3.3. Sayılar Matlab MATRİSLER 43
  44. bir çok eylem, dört islem ve matematiksel bazı islemler oMatlab'da yaptırabiliriz. oBunun için, ya ilgili komutları komut penceresinden teker teker girerek veya ilgili komutları bir dosyaya yazıp, o dosyayı çağırarak çalıstırabiliriz. oİşlemleri yaptırırken, sayıları reel sayı ya da karmasık sayı olarak alabiliriz. 3.4 Operatörler(sayısal işlemciler): MATRİSLER 44
  45. 45 Matematiksel ifadeleri oluşturmak için operatörler ve önceden tanımlanmış sembolleri kullanabilirsiniz. oOperatörler özetle şunlardır: oMatrislerle yapılan işlemlerde bölme işlemi için iki farklı sembol kullanılmaktadır. oBunun yanında eğer sayılar skaler ise iki bölme işleminin sonucu da aynı değeri gösterecektir. oÖrneğin 3/2 ile 23 ifadelerinin sonuçları aynı olup 1.5’dir » 4+8*3–2 ans = 26 3.4 Operatörler(sayısal işlemciler): MATRİSLER
  46. 3.4 Operatörler(sayısal işlemciler): MATRİSLER 46 x=a + b Bu ifadede a ve b nin toplandığı ve x değişkeni içinde saklandığı belirtilmektedir.
  47. Aritmetiksel İşlemlerde Öncelik Durumu: oTek bir aritmetiksel durum içinde birden fazla durum bir arada bulunabildiğine göre hangi işlemin öncelik hakkına sahip olunduğunun bilinmelidir. oMATLAB’da kullanılan işlemlerde işlemlerin öncelik listesi: 3.4 Operatörler(sayısal işlemciler): MATRİSLER 47 bazı temel matematiksel fonksiyonların açıklamaları
  48. o MATLAB’ da işlemler soldan sağa işlerler. o İşlemler arası öncelik sırası aşağıdaki gibidir: 1. ^ 2. *, / 3. +, - (Yüksek) ↓ (Düşük) » 3^(2–5)-6/3*2 ans = » 3^2–5–6/3*2 ans = —3.9630 0 3.4 Operatörler(sayısal işlemciler): MATRİSLER 48
  49. 49 3.5. Fonksyonlar MATRİSLER o MATLAB’ın çok güçlü ve çok kapsamlı bir fonksiyon yapısı vardır. oMATLAB’da bazı fonksiyonlar daha önceden yerleştirilmiş bazıları ise sonradan dışarıdan yerleştirilmiş M-dosyalarından oluşan MATLAB kütüphanelerinde tanımlanmışlardır. oBunun yanında özel uygulamalar için kullanıcıların kendi fonksiyonlarını yazarak kendi kütüphanelerini oluşturması mümkündür. MATLAB’da mevcut analitik fonksiyonları genel olarak aşağıdaki kategorilere ayırabiliriz. oTemel matematiksel fonksiyonlar oÖzel fonksiyonlar oTemel matrisler ve matris işlemleri oMatrisleri çarpanlarına ayırma oVeri analizleri oPolinomlar oDiferansiyel denklem çözümleri oLineer olmayan denklemler ve optimizasyon oSayısal integral hesaplamaları oSinyal işleme
  50. 50 Matematiksel Fonksiyonlar: bazı temel matematiksel fonksiyonların açıklamaları 3.5. Fonksyonlar MATRİSLER Örnek: >>exp(1) ans=2.7183 >>fix(3.5) ans=3 >>ceil(3.5) ans=4 >>round(3.5) ans=4
  51. Matlab'da önceden tanımlanmıs bazı sabitlerdir. Bunlar aşağıdaki tabloda gösterilmistir. 3.6. Özel Sabitler Matlab 51
  52. Örnekler: 1) a=1; 2) a=’İstanbul’ 3) a=5;b=7;c=a+b; 4) a=5;b=-3;c=a+2*b;a=a+b; 5) num=2*3-5^2; x=num/2, y=x+10; 7. Sabitler, Değiskenler ve Metin Katarları Matlab 52
  53. Örnek: Komut satırına a) sin(30) b) sin(30*pi/180) yazınız sonuçları inceleyiniz. 3.5. Fonksyonlar MATRİSLER 53 Cevap: a)-0.9880 sonucu görülür ki bu 30° nin sinüsünde n farklıdır. Çünkü bu 30° derece değil 30 radyanın sinüsüdür. b)0.5000 sonucu görülür ki bu da 30° nin sinüsüd ür. O halde bir sayının trigonometrik değerini buldurmak için, önce pi ile çarpıp 180 e bölerek açıyı radyan çevirip sonra trigonometrik değerini hesaplatabiliriz.
  54. 54 oVektörler tek boyutlu sayı dizileridir. oElemanlarının sıralanma yönlerine göre sütun veya satır vektörü adlarını alırlar. ovektörler [ ] köşeli parantezleri ile tanımlanır ofarklı yolla tanımlanabilirler 4. Vektörler Matlab A = [4, 12, -8, 6]; A = [4 12 -8 6]; B = [1; 2; 4; 6]; Satır Vektörü Sütun Vektörü >> b=[1 2 4 6 ]
  55. 4. Vektörler Matlab ovektör boyutları büyüdükçe, manuel olarak tanıtım işlemi oldukça zorlaşmaktadır. oÖzellikle belli bir artıma sahip vektörlerin oluşturulmasında (:) operatörü kullanılmaktadır. C = [-1:0.5:150]; Son değer Başlangıç değeri Artış miktarı D’ = [30:-10:-30] Sütun Vektörü 55
  56. 4. Vektörler Vektör indisleri Matlab 56 Bir vektörün elemanlarına atanılan değer değişkenler editörü veya eleman adresi vasıtasıyla değiştirilebilir. Örnek: A = [4 12 -8 6]; 1. A vektörünün 3. elemanını 27 ile değiştiriniz. 2.Benzer şekilde A vektörünün 2. elemanını siliniz. 3. A(9) = 12 Çözüm: 1. A(3) = 27 2. Vektörün elemanına [ ] değeri atandığında eleman silinir. A(2) = [ ] 3. >> A(9) = 12 A =[ 2 27 7 0 0 0 0 0 12] A= [ 4 27 6]
  57. 57 » x=[17 8 61 83 56]; Şeklindeki bir matrisin üçüncü elemanına erişmek istenirse » c=x(3) c = 61 Eğer bir blok şeklinde veriye erişilmek istenirse; » x(2:4) ans = 8 61 83 Her matristeki herhangi bir elman grubuna erişilmek istenirse; » x([3 1 4]) ans = 61 17 83 5. Matlab'da Dizi (Matris) İşlemleri: Matlab
  58. Dizilerin Değerlerinin Değistirilmesi ve Düzenlenmesi: Bir diziye düzenli artıs (veya azalıs) kuralıyla değerler atanmak isteniyorsa bunu; ilk_değer:artıs:son değer veya ilk_değer:artıs:son değer biçiminde yapabiliriz. Ancak artıs 1 ise belirtilmeyebilir. Örnek: ortalama adlı bir diziye 0 dan 5 e kadar 0.5 er artısla elde edilen sayı dizisini atayan; ortalama=[0:0.5:5]; Siz: 1. satır 7 den den 17 ye kadar olan tam sayılar, 2. satırı 99 dan 89 a kadar azalan tam sayılardan olusan 2 boyutlu m dizisine atayan islemleri yazınız?? 4. Vektörler Matlab 58
  59. 4. Vektörler Matlab 59
  60. Sayılardan olusan satır ve sütun yapısına matris (dizi) denir. Örneğin; d1=[5] 1x1 lik, d2=[ 2 -7] 1x2 lik, d3= [1 0 -3 ] [ 5 3 1 ] 2x3 lük bir dizidir. Örnek: x=[1; 7; 18; 5] Ya da » x=[ 1 7 18 5 ] Biçimlerinde girilebilir. 5. Matlab'da Dizi (Matris) İşlemleri: Matlab 60
  61. Örnek: 1. d2=[2 -7] d2 dizisinin -7 elemanını görüntülemek için: d2(1,2) 2. d3=[1 0 -3;5 3 1] d3 dizisinin 2. satır, 1. sütununda bulunan 5 in değerinin, -7.5 olması için: d3(2,1)=-7.5; Not:1) Bir dizinin bir çok elemanını yeniden değer atamak gerekirse, komut satırından atama yapmak uzun zaman alabilir. Bu durumda dizi değiskeninin üzerine çift tıklayarak açılan dizi editörü (array edit) yardımıyla değisiklikleri daha kolay yapabiliriz. 5. Matlab'da Dizi (Matris) İşlemleri: Dizilerin Değerlerinin Değistirilmesi ve Düzenlenmesi: Bir dizinin herhangi bir elemanını belirlemek için dizi adından hemen sonra parantez içinde elemanın bulunduğu satır ve sütun sayısı yazılmalıdır. Matlab 61
  62. 8. Matrisler(Dizi) Matlab 62 Bir matrisi girerken , o1. Elemanlar, baştan ve sondan köşeli parantezlerle kapatılır. o2. Elemanların arasına boşluk veya virgül konulur. o3. Matris satırlarını ayırmak için de noktalı virgül kullanılır. okurallarına dikkate alınmalıdır. Örneğin, A = [1 2 3; 4 5 6]; A = 1 2 3 4 5 6 şeklinde veriler matrisler biçiminde tanımlanır. MATLAB daha sonra kullanılmak üzere verileri A matrisinde saklar.
  63. 63 Matris elemanları rasgele rakamlardan oluşabileceği gibi MATLAB’ın deyimlerinden de oluşabilir. 5.1. Matrislerde Elemanlar Matlab Örneğin. a=[-1.3 sqrt(3) (1+2+3)*475] a= -1.3000 1.7321 4.8000 Küçük matrisleri eleman olarak kullanıp daha büyük matrisler oluşturmak mümkündür. Örneğin, M=[1 3 5 7 8 9] matrisine aşağıda gösterildiği şekilde bir satır eklemesi yapabilir. M=[M;[10 13 15]] Bu durumda M matrisi M=[1 3 5 7 8 9 10 13 15] durumunu alır.
  64. İki nokta üst üste (:) kullanarak büyük matrislerin belli bir kısmını kullanabiliriz ya da diğer ifade ile bu matrisi küçültebiliriz. Örneğin, M=M(1:2,:) bildirimi M matrisinin ilk iki satırını alarak M matrisi olarak saklar. Örnek: M=[8 -4 7; 66 -7 8 9; 4 5 134] ise: M=M(1:2,:) =? 8. 1. Matrislerde Elemanlar Matlab 64
  65. MATLAB’da kullanıcı verileri kendi oluşturacağı matrisler ile tanımlayabileceği gibi MATLAB’ın kendi özel matrislerinden de istifade edilebilir. 5.2. Genel Matrisler: Matlab 65
  66. Özel Dizi (Matris) Olusturan Bazı Fonksiyonlar: a) Sıfır Matrisi Olusturan Fonksiyon: Her elemanı sıfır olan mxn boyutunda bir matrise sıfır matrisi denir. Böyle bir dizi olusturmak için zeros fonksiyonu kullanılır. Kullanımı; matris_adı=zeros(m,n); biçimindedir. Örnek: 3x5 boyutunda s adlı sıfır matrisi için: s=zeros(3,5); 5.2. Genel Matrisler: Matlab 66
  67. b) 1 lerden Olusan Matris: Her elemanı 1 olan mxn boyutunda bir matrisi olusturmak için ones fonksiyonu kullanılır. Kullanımı; matria_adı=ones(m,n); biçimindedir. Örnek: 2x3 boyutunda b adlı tüm elemanları 1 olan matrisi olusturalım. b=ones(2,3); 5.2. Genel Matrisler: Özel Dizi (Matris) Olusturan Bazı Fonksiyonlar: Matlab 67
  68. c) Birim Matrisi Olusturan Fonksiyon:  Esas kösegeni 1 lerden diğer elemanları 0 lardan olusan kare matrise (satır ve sütun sayısı esit olan ) birim matrisi,  kare olmayan matrise de diyagonal matris denir.  Böyle matrisleri olusturmak için eye fonksiyonu kullanılır.  Kullanımı; matris_adı=eye(m,n); biçimindedir. Örnek: a) 3x3 lük birim matris; b) 4x3 llük diyagonal matris olusturalım. Çözüm:a) i=eye(3,3); b) d=eye(4,3); Özel Dizi (Matris) Olusturan Bazı Fonksiyonlar: 5.2. Genel Matrisler: Matlab 68
  69. d) Rastgele Sayılardan Olusan Matris ve Fonksiyonu: Elemanları 0 ile 1 arasındaki rastgele sayılardan olusan bir matris için rand fonksiyonu kullanılır. Kullanımı; matris_adı=rand(m,n); biçimindedir.(m:satır,n:sütun) Not 1) Üretilen matrisin tüm elemanlarını k gibi bir sayı ile çarparak, sayıları 0 ile k arasına çekebiliriz. Not 2) Ondalıklı sayılardan olusmus bir matrisin elemanlarını yuvarlayıp tam sayı yapmak için round fonksiyonunu kullanırız. Özel Dizi (Matris) Olusturan Bazı Fonksiyonlar: 5.2. Genel Matrisler: Matlab 69
  70. Örnek: a)0 ile 1 arasında rastgele sayılardan olusan 10 elemanlı a adında bir satır matrisi olusturalım. b) Elemanları 10 ile 50 arasında sayılardan olusan 5x3 tipinde b matrisini olusturalım. c)Elemanları 50 ile 300 arasındaki tamsayılardan olusan 3x4 tipinde c matrisini olusturalım. 2. Genel Matrisler: Özel Dizi (Matris) Olusturan Bazı Fonksiyonlar: d) Rastgele Sayılardan Olusan Matris ve Fonksiyonu: Matlab 70
  71. Çözüm: a) a=rand(1,10); b) b=10+rand(5,3)*40; c) c=round(50+rand(3,4)*250); 5.2. Genel Matrisler: Matlab 71
  72. 2. Genel Matrisler: e) Rastgele Sayılardan Olusan Normal Dağılımlı Matris ve Fonksiyonu: Elemanları rasstgele sayılardan olusan bir normal dağılımlı bir matris için randn fonksiyonu kullanılır. Kullanımı; matris_adı=randn(m,n); biçimindedir. Örnek: Rastgele sayılardan olusan normal dağılımlı 2x3 lük bir n matrisini olusturalım. Çözüm: n=randn(2,3); Matlab 72
  73. Baslangıç ve biis değerleri ve kaç elemandan olusacağı belirlenen diziyi olusturmak için linspace fonksiyonu kullanılır. Kullanımı; dizi_adı=linspace(ilk_değer,son_değer,eleman_sayısı); biçimindedir. 5.2. Genel Matrisler: f) Lineer Aralıklı (Aritmetik) Dizi ve Fonksiyonu: Matlab 73
  74. Örnek: 10 ile 30 arasına 9 tane daha sayı koyarak a adında bir aritmetik dizi olusturalım. 5.2. Genel Matrisler: f) Lineer Aralıklı (Aritmetik) Dizi ve Fonksiyonu: Matlab 74 Cevap: a=linspace(10,30,11);
  75. Elimizdeki grubun her elemanı için bir matematik işlemi yapıp bunu yeni bir diziye atarken herhangi bir sorun yoktur. Fakat iki farklı grupla işlemler yaparken dikkat etmemiz gereken genel kurallar vardır. Örneğin toplama ve çıkarma yaparken iki dizinin de büyüklüğünün eşit olması gerekmektedir. Ayrıca iki farklı dizinin elemanları arasında birebir işlem yapmak için matematik operatörünün başına nokta(.) koymak gerekir. Bu durumda her bir elemanı diğer dizinin o sıradaki elmanı ile işleme sokacaktır. 6. MATRİSLER VE İŞLEMLERİ Matlab 75
  76. 76 virgüle işareti ya da boşluk Noktalı virgül (;) işareti ile kolonları ve bırakarak da bir sıradaki elemanları ayırabiliriz Örnek: » x=[ 3 4 5 6; 7 8 9 10; 11 12 13 14] x = 3 4 5 6 7 8 9 10 11 12 13 14 Yukarıdaki 3x4 boyutunda bir matristir. MATLAB programına aşağıdaki gibi de sunulabilir. » x=[ 3 4 5 6 7 8 9 10 11 12 13 14] x = 3 4 5 6 7 8 9 10 11 12 13 14 6. MATRİSLER VE İŞLEMLERİ Birden fazla satır ve sütuna sahip vektörlere matris denir. Matlab
  77. Matristeki herhangi bir elemana direk ulaşmak için aşağıdaki gösterim yeterlidir. » x(2,3)=9 Eğer isteğimiz eriştiğimiz bir elemanı değiştirmek veya yeni bir satır eklemek ise aşağıdaki gösterim yeterlidir. . » x(4,1)=1 x = 3 4 5 6 7 8 9 10 11 12 13 14 1 0 0 0 Bu durumda dördüncü satır ilk elemanını biz 1 değerini atadık ve diğer elemanları kendiliğinden “0” olarak atadı. 77 6. MATRİSLER VE İŞLEMLERİ Matlab
  78. 78 1 3 5 7 3 2 1 0 -1 0 1 2 Bir matrisin herhangi bir bölümünü seçmek için ise aşağıdaki gösterim kullanılır; » z=x(2:3, 1:2) z = 3 2 -1 0 Bu durumda z matris x matrisinin 2 ve 3 no’ lu satırlarından 1 ve 2 no’ lu sütunlarını almış oluyor. Herhangi bir satır veya sütunu tamamen silmek istersek o satır ve sütunu seçip “[]” ifadesine eşitleriz. » z(:,2)=[ ] z = 3 -1 6. MATRİSLER VE İŞLEMLERİ İki nokta üst üste (:) kullanılarak belirli aralıkta değişen matrisler yaratılabilir. » x=[1:2:7; 3:-1:0; -1:2] x = Matlab
  79. Matlab, size ve length komutları yardımı ile size matrisinizin boyutlarını söyler. » a=[ 2 3 4 5 6 7 8 9 10 11]; » s=size(a) s = 2 5 » b=[ 17 11 0 30 40 50]; » k=length(b) k = 6 6. MATRİSLER VE İŞLEMLERİ Matlab 79
  80. mertebedeki elemanları teker teker toplayıp (veya çıkarıp ) İki matrisi toplamak (veya çıkarmak) demek, matrislerin aynı aynı mertebeye yazmak demektir. Bu durumda iki matrisin de aynı mertebeden olması gereği açıktır. Bir matrisi sabit bir sayıyla ile toplamak (veya çıkarmak) demek, matrisin elemanlarınının tümünü teker teker o sayıyla toplamak (veya çıkarmak )demektir. Bir matrisi sabit bir sayıyla ile çarpmak demek ise, matrisin elemanlarınının tümünü teker teker o sayıyla çarpmak demektir. 6. MATRİSLER VE İŞLEMLERİ a) Toplama-Çıkarma Bir Sayı ile Çarpma İşlemi: Matlab 80
  81. 81
  82. Örnek: » a=[1 2 3; 4 5 6]; » b=[7 8 9; 10 11 12]; a ve b toplamı: » sum=a+b sum = 8 10 12 14 16 18 a’ yı b’ den çıkarmak; » diff=a-b diff = -6 -6 -6 -6 -6 -6 6. MATRİSLER VE İŞLEMLERİ Matlab 82
  83. 83 Örnek: a=[-1 3 5;2 1 7] ve b=[3 -3 -4;1 1 5] matrisleri veriliyor. a) c=a+b toplam matrisini b) d=a-b matrisini c)amatrisinin her elemanınının 5 eksiğine karsılık gelen e matrisini d) f=2a-3b matrisini bulduran islemleri yazalım. 6. MATRİSLER VE İŞLEMLERİ Matlab Çözüm: a) c=a+b b) d=a-b c) e=a-5 d) f=a+a-b-b-b veya f=2*a-3*b
  84. 6. MATRİSLER VE İŞLEMLERİ b) İki Matrisin Çarpımı, Bir Matrisin Kuvvetleri ve Çarpma İslemi: İki matrisin çarpım islemi iki biçimde anlasılır. 1) Aynı mertebeden iki matrisin elemanlarını teker teker , çarpıp, aynı mertebeye yazmak demektir. Bunu .* islemi ile gerçeklestiririz. 2) Matematiksel anlamda iki matrisi çarpmak istediğimizde; birinci matris mxn türünde ve ikinci matris mutlaka nxp türünde olmalıdır; yani birinci matrisin sütun sayısı ikinci matrisin satır sayısına eşit olmalıdır. Bu durumda birinci matrisin i. sütun elemanları ile, ikinci matrisin j. satırındaki elemanlar karılıklı olarak çarpılır ve sonuçlar toplanır ve bu toplam çarpım matrisinin (i,j) inci mertebeye yazılır. Matrisler arası çarpma isleminin sembolü de * dır. Matlab 84
  85. 3)Bir a matrisinin her bir elemanının n. Kuvvetlerinden olusan matrisi bulmak için a.^n islemi kullanılır. 4)Satır ve sütun sayıları esit bir kare matrisi ardısık olarak n defa kendisiyle çarparak, a matrisinin n. kuvvetini bulabiliriz.Örneğin a matrisinin karesi için a*a veya a^2, kübünü buldurmak için a*a*a veya a^3, dördüncü kuvvetini buldurmak için a*a*a*a veya a^4 Not) Bir a matrisinin eleman -elemana çarpma islemine benzer mantıkla, bir matrisin tüm elemanlarının kareleri, kübleri, sinüsleri, kosinüsleri, logaritmalarından olusan matris bulunmak istenirse; bunu sırayla a.*a (veya a.^2), a.*a.*a, (veya a.^3), sin(a), cos(a), e tabanında logaritması için log(a), 10 tabanında logaritmaları için log10(a) ... Biçiminde gerçeklestirebiliriz. 6. MATRİSLER VE İŞLEMLERİ Matlab 85
  86. Örnek: a=[-1 3 5;2 1 7] , b=[3 -3 -4;1 1 5] ve c=[1 0;-1 2;3 3] matrisleri veriliyor. a)a matrisinin elemanları ile b matrisinin elemanlarını karsılıklı çarpımlarından olusan c1 matrisi varsa bulalım. b) a matrisi ile b matrisinin çarpım matrisi olan c2 varsa bulalım. c)a matrisinin elemanları ile c matrisinin elemanlarını karsılıklı çarpımlarından olusan c3 matrisi varsa bulalım. d) a matrisi ile c matrisinin çarpım matrisi olan c4 varsa bulalım. e)a matrisinin elemanlarının karelerinden olusan matris ile b matrisinin kosinüslerinden olusan matrisler toplamını bulalım. f)x=[1 0;0 3] matrisinin i) Karesini ii) Kübünü iii) 10. kuvvetini bulalım. 6. MATRİSLER VE İŞLEMLERİ Matlab 86
  87. 87 olabilmesi için aynı mertebeli olması gerekir.Halbuki bu matrisler çarpma aynı islemi mertebeden olmadığından bu iki matris eleman-elemana gerçeklemez. d)İki matrisin çarpılabilmesi için birinci matrisin sütun sayısı ikinci matrisin satır sayısına esit olmalıdır.a matrisi 2x3 lük, c matrisi de 3x2 lik olduğundan bu iki matris çarpılabilir ve c4 çarpım matrisi 2x2 lik bir matris olur.c4 çarpım matrisini c4=a*c islemi ile buluruz. e) a.^2+cos(b) f) i) x^2 ii) x^3 iii) x^10 6. MATRİSLER VE İŞLEMLERİ Çözüm: a)iki matrisin karsılıklı elemanlarının çarpımından olusan matrisin tanımlı olabilmesi için aynı mertebeli olması gerekir.Bu durumda c1 matrisi tanımlıdır ve bunu c1=a.*b islemi ile gerçeklestirebiliriz. b)iki matrisin çarpılabilmesi için birinci matrisin sütun sayısı ikinci matrisin satır sayısına esit olmalıdır.Halbuki a matrisi 2x3 b matrisi de 2x3 olduğundan bu iki matris çarpılamaz. c) İki matrisin karsılıklı elemanlarının çarpımından olusan matrisin tanımlı Matlab
  88. Bir matrisin satırlarını sütun, sütunlarını satır olarak bulunan matrise, bu matrisin devriği (transpozesi) denir. Bir matrisin devriğini .' islemi ile bulabiliriz. yazılmasıyla Örnek: a=[-1 3 5;2 1 7] nın devriğini buldurup d matrisine atayalım. Çözüm: d=a.'; 6. MATRİSLER VE İŞLEMLERİ c) Bir Matrisin Devriğini (Transpozesi) Bulma İslemi: Matlab 88
  89. Örnek: b=[7 8 9; 10 11 12]; matrisinin transpozesini bulabilirmisiniz? 6. MATRİSLER VE İŞLEMLERİ Matlab Çözüm: c=b' c = 7 10 8 11 9 12 89
  90. 90 SORU: a=[1 2 3; 4 5 6]; c= [7,10;8,11;9,12]; ise a ve c’nin çarpım matrisi kaçtır? 6. MATRİSLER VE İŞLEMLERİ Matlab ÇÖZÜM: Çarpma işlemi: k=a*c k= 50 68 122 167
  91. SORU : a=[1 2 3; 4 5 6]; b=[7 8 9; 10 11 12]; ise a matrisinin elemanları ile b matrisinin elemanlarını karsılıklı çarpımlarından olusan x matrisini bulalım? 6. MATRİSLER VE İŞLEMLERİ Matlab ÇÖZÜM: x=a.*b x = 91 7 16 27 40 55 72
  92. d) İki Matrisin Bölümü, Birim Matris ve Bir Matrisin Tersi : Aynı mertebeden iki matrisin elemanlarını teker teker, bölerek, aynı mertebeye yazılmasına iki matrisin sol bölmesi denir ve bu ./ islemi ile yapılır. a, b ve c aynı mertebeden kare matrisler olmak üzere; c=a*b ise a matrisine c nin b matrisine bölümü denir. c bölüm matrisi / islemi ile yapılır. 6. MATRİSLER VE İŞLEMLERİ Matlab 92
  93. eye(3,3)/a veya inv(a) islemini kullanırız. 6. MATRİSLER VE İŞLEMLERİ d) İki Matrisin Bölümü, Birim Matris ve Bir Matrisin Tersi : HATIRLATMA: 2x2 lik i2 adlı birim matrisi i2=eye(2,2); 3x lük i3 adlı birim matrisi i2=eye(3,3); islemi ile olusturabiiriz. Aynı mertebeden a ve b kare matrisleri için a ile b nin çarpımı birim matris ise b matrisi a matrisinin (aynı biçimde a matrisi de b matrisinin) ters matrisidir. Örnek:  3x3 lük bir a kare matrisinin tersini bulmak için: Matlab 93
  94. Bir Matrisin Determinantı Determinant, kare matrisleri bir sayıya eşleyen fonksiyondur. Determinant fonksiyonunun, kare matrisi eşlediği o sayıya matrisin determinantı denir. A matrisinin determinantı, detA veya |A| biçiminde gösterilir. |A|, matrislerde mutlak değer anlamına gelmez. |A| sıfır veya negatif de olabilir. det(x) 6. MATRİSLER VE İŞLEMLERİ Matlab 94
  95. 6. MATRİSLER VE İŞLEMLERİ KURAL: Matlab 95
  96. Örnek: Verilen bir x matrisi için: » x=[ 2 -1; 5 8] Determinant: » deter=det(x) deter = 21 6. MATRİSLER VE İŞLEMLERİ Matlab 96
  97. Örnek Inverse işlemi: Verilen bir x matrisi için: » x=[ 2 -1; 5 8] Detx=det(x)=21 ise; » y=inv(x) y = 8/21 1/21 -5/21 2/21 6. MATRİSLER VE İŞLEMLERİ Matlab 97
  98. SORU: a=[2 -10 0;1 2 4;3 0 1] matrisi ile b=[1 5 4;1 -1 2;0 1 -1] matrisleri veriliyor. a) a matrisinin elemanlarını sırasıyla b matrisinin elemanlarına bölerek elde edilen matrisi b1 matrisine atayalım. b) a matrisinin ta ters matrisini bulalım. c) a ile ta matrisinin çarpımının 3x3 lük birim matris olduğunu gösterelim. d) a matrisinin b matrisine bölümünü b2 matrisine atayalım. 6. MATRİSLER VE İŞLEMLERİ Matlab 98
  99. Çözüm: a) b1=a./b b) ta1=eye(3,3)/a veya ta2=inv(a) c) a*ta ==eye(3,3) d) b2=a/b 6. MATRİSLER VE İŞLEMLERİ Matlab 99
Anzeige