P. 1
Matlab (1)

Matlab (1)

|Views: 38|Likes:
Yayınlayan: erginli

More info:

Published by: erginli on Aug 27, 2012
Telif Hakkı:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

08/27/2012

pdf

text

original

SAYISAL ANALİZ Matlab’a Giriş Derleme Ders Notları

Öğr. Gör. Arzu ERENER email:ae76@hotmail.com.tr

Sayısal Analiz
1. Kaynakça 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/

2

Sayısal Analiz
1. Kapsam

o o o o o o o o o o o o o

1. Matlab'ın Genel Yapısı 2. Matlab Kullanımında Temel Kurallar 3.1. İfadeler 3.2.Değişlenler 3.3. Sayılar 3.4 Operatörler(sayısal işlemciler) 3.5. Fonksyonlar 3.6. Özel Sabitler 4. Vektörler 5. Matlab'da Dizi (Matris) İşlemleri 5.1. Matrislerde Elemanlar 5.2. Genel Matrisler 6. Matrisler ve İşlemler
3

Sayısal Analiz
1. MATLAB

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

Sayısal Analiz
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.
5

Sayısal Analiz
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.
6

Sayısal Analiz
1. MATLAB

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

7

Sayısal Analiz
1. MATLAB

Matlab matrix tabanlı bir dildir. Matlabda ilk başlangıçta herşeyi matris olarak düşünmek yararlı olacaktır.

8

Sayısal Analiz
1. MATLAB

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

Sayısal Analiz
1. MATLAB

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 matrisi o1xn matris satır matrisi omxn matris m satırlık ,n sütunluk matristir.

10

MATLAB 1. Matlab'ın Genel Yapısı

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

MATLAB 1. Matlab'ın Genel Yapısı MATLAB programını ilk çalıştırdığınızda karşınıza çıkacak ekran aşağıdaki gibidir. MASA ÜSTÜ KOMUT PENCERESİ

Çalışma Dizini

Çalışma Alanı

Komut Satırı

Komut Geçmişi
12

MATLAB 1. Matlab'ın Genel Yapısı 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

13

MATLAB 1. Matlab'ın Genel Yapısı Burada Desktop Desktop Layout ile Matlabın masaüstü yerlesimini düzenleyebilirsiniz. Örneğin; Default ile varsayılan görünümünü, Command Window Only ile sadece klasik komut penceresini

14

MATLAB 1. Matlab'ın Genel Yapısı 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

15

MATLAB 1. Matlab'ın Genel Yapısı 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

16

MATLAB 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
17

MATLAB 1. Matlab'ın Genel Yapısı Workspace Örnek : Command Window’a alttaki değerleri yazıp inceleyin: a = 4; b = 5; c = a*b nasılsın=‘iyidir’

Örneğin: c değiskeni 1x1 boyutunda bir matris yani sayı, b değiskeninin ise 3x2 boyutunda bir matris, yani üç satır ve 2 sütundan olusan bir matris, nasılsın adlı değisken de 6 karakterden olusan bir karakter zinciri (string) olduğu görülür.
18

MATLAB 1. Matlab'ın Genel Yapısı 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.

19

MATLAB 1. Matlab'ın Genel Yapısı 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 Mdosyaları listesini verir.

20

MATLAB 1. Matlab'ın Genel Yapısı clc: Komut penceresindeki satırları silmeye yarar clear: Hafızadaki değişkenler silinir

21

MATLAB 1. Matlab'ın Genel Yapısı 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.

22

MATLAB 1. Matlab'ın Genel Yapısı 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:\Matlab6p5\work gibi bir klasördür. Örnek: >> a=[1,2,3; 5,7,9] a= 1 5
Yada :

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 matlab.mat) .

2 7

3 9

save F:\MATLAB_UYG\katsayilar 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_UYG\katsayilar

komut dizisi kullanılır.

23

MATLAB 1. Matlab'ın Genel Yapısı 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.

24

MATLAB 1. Matlab'ın Genel Yapısı Matlab MasaÜstü

Yeni MDosyası Dosya Aç
Kayıtlı Matlab Fonksyonu, kayıt dosyası(mat), modeli, figürü ve GUI arayüzlü fonksyonları açar

Help Desk

Veri dosyalarını açar Çalışma ortamını kaydeder

Farklı çalışma dizinini Matlaba tanıtır

Matlab arayüzünü ayarlar 25

MATLAB 1. Matlab'ın Genel Yapısı Başlat Düğmesi

Matlab hazırlanan

araç ve

kutuları, eklenti hazır

Matlab olarak

uygulamalarına içeren paketlerdir.

fonksyonları

26

MATLAB Başlat Genel Yapısı 1. Matlab'ınDüğmesi Start Düğmesi tüm matlab uygulamalarına açılan kısayolları içermektedir.
Veri Sihirbazı GUI Hazırlayıcı

Matlab Uygulamaları için kısa yol

SimulinkUy gulaması

Araç kutuları

Demolar 27

MATLAB 1. Matlab'ın Genel Yapısı Matlaba Veri Alma Programa dışarıdan resim, film, veri, ses dosyalarını matris formatına çevirerek bir değişken olarak atamada kullanılır File Import Data Örnek: Exel dosyası alma Exelde bir matrix oluşturup matlabdan import ile alınız.

28

MATLAB 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;

'break‘ 'case' 'catch' 'continue' 'else' 'elseif' 'end‘ 'for' 'function' 'global' 'if' 'otherwise‘ 'persistent' 'return' 'switch' 'try' 'while.
29

Matlab 2. Matlab Kullanımında Temel Kurallar:

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.

30

MATLAB 2. Matlab Kullanımında Temel Kurallar:

Genel komutların isimleri ve açıklamaları

31

MATLAB 2. Matlab Kullanımında Temel Kurallar: MATLAB kontrolünü kullanabilmeniz için özel karakterlere sahiptir. Bu karakterlerin bir özeti :

32

Matlab
2. Matlab Kullanımında Temel Kurallar:

33

Matlab
2. Matlab Kullanımında Temel Kurallar:

34

Sayısal Analiz
3. MATRİSLER

İFADELER : Matematiksel ve metinsel gösterimler ile işlemler sağlanır. Sayılar (Numbers) Değişkenler (Variables) İşleçler (Operators) Fonksiyonlar (Functions)

ifadelerle

Matlab’de ifadeler genellikle değişken = ifade veya sadece ifade formundadır.

x = 4 * sqrt(5)
değişken sayı işleç

İfade 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.

35

MATRİSLER 3.1. İFADELER

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.

36

Matlab
3.2. Değişlenler

Değisken: değeri değisebilen bellek alanına isaret eden değerlere,

o MATLAB’da, herhangi bir tip tanımlaması veya boyut ifadesine gerek yoktur. o MATLAB, 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

37

Matlab
3.2. Değişlenler

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.

38

Matlab
3.2. Değişlenler

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>;

39

Matlab
3.2. Değişlenler

Ö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.
40

MATRİSLER 3.3. Sayılar

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,

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

41

MATRİSLER 3.3. Sayılar

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. ile gosterimlerinde bir fark yoktur. o (1+3i veya 1+3*i veya 1+i*3) / 1+sqrt(3)*j / -5i

o Kompleks sayılarda imajiner (sanal) kısımlar i veya j ekini alır. i veya j

o Matlab’de tüm sayılar, yaklaşık 2.10308 ve 2.10-308 arasında değişir.
42

MATRİSLER Matlab 3.3. Sayılar Sayı Formatları:

43

MATRİSLER 3.4 Operatörler(sayısal işlemciler):

oMatlab'da bir çok eylem, dört islem ve matematiksel bazı islemler 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.

44

MATRİSLER 3.4 Operatörler(sayısal işlemciler):

Matematiksel ifadeleri oluşturmak için operatörler ve önceden tanımlanmış sembolleri kullanabilirsiniz. oOperatörler özetle şunlardır:

» 4+8*3–2 ans = 26

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. 45 oÖrneğin 3/2 ile 2\3 ifadelerinin sonuçları aynı olup 1.5’dir

MATRİSLER 3.4 Operatörler(sayısal işlemciler):

x=a + b

Bu ifadede a ve b nin toplandığı ve x değişkeni içinde saklandığı belirtilmektedir.

46

MATRİSLER 3.4 Operatörler(sayısal işlemciler):

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: bazı temel matematiksel fonksiyonların açıklamaları

47

MATRİSLER 3.4 Operatörler(sayısal işlemciler):

o o

MATLAB’ da işlemler soldan sağa işlerler. İşlemler arası öncelik sırası aşağıdaki gibidir:

1. ^ 2. *, / 3. +, -

(Yüksek) ↓ (Düşük)

» 3^(2–5)-6/3*2 ans = —3.9630

» 3^2–5–6/3*2 ans = 0

48

MATRİSLER 3.5. Fonksyonlar 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ı 49 oSinyal işleme

MATRİSLER 3.5. Fonksyonlar Matematiksel Fonksiyonlar:

Örnek: >>exp(1) ans=2.7183 >>fix(3.5) ans=3 >>ceil(3.5) ans=4 >>round(3.5) ans=4

bazı temel matematiksel fonksiyonların açıklamaları

50

Matlab
3.6. Özel Sabitler Matlab'da önceden tanımlanmıs bazı sabitlerdir. Bunlar aşağıdaki tabloda gösterilmistir.

51

Matlab
7. Sabitler, Değiskenler ve Metin Katarları

Ö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;

52

MATRİSLER 3.5. Fonksyonlar

Örnek: Komut satırına a) sin(30) b) sin(30*pi/180) yazınız sonuçları inceleyiniz.
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.
53

Matlab
4. Vektörler

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

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];

54

Matlab
4. Vektörler

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];

D’ = [30:-10:-30]

Başlangıç değeri

Artış miktarı

Son değer

Sütun Vektörü

55

Matlab
4. Vektörler Vektör indisleri 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]

56

Matlab
5. Matlab'da Dizi (Matris) İşlemleri: » 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
57

Matlab
4. Vektörler 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??
58

Matlab
4. Vektörler

59

Matlab
5. Matlab'da Dizi (Matris) İşlemleri:

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 ] [531] 2x3 lük bir dizidir. Örnek: x=[1; 7; 18; 5] Ya da » x=[ 1 7 18 5] Biçimlerinde girilebilir.

60

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

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

61

Matlab
8. Matrisler(Dizi) 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= 123 456 şeklinde veriler matrisler biçiminde tanımlanır. MATLAB daha sonra kullanılmak üzere verileri A matrisinde saklar.
62

Matlab
5.1. Matrislerde Elemanlar

Matris elemanları rasgele rakamlardan oluşabileceği gibi MATLAB’ın deyimlerinden de oluşabilir. Ö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.

63

Matlab
8. 1. Matrislerde Elemanlar

İ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,:) =?

64

Matlab
5.2. Genel Matrisler: MATLAB’da kullanıcı verileri kendi oluşturacağı matrisler ile tanımlayabileceği gibi MATLAB’ın kendi özel matrislerinden de istifade edilebilir.

65

Matlab
5.2. Genel Matrisler: Ö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);

66

Matlab
5.2. Genel Matrisler: Özel Dizi (Matris) Olusturan Bazı Fonksiyonlar: 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);

67

Matlab
5.2.Özel Dizi (Matris) Olusturan Bazı Fonksiyonlar: Genel Matrisler: 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);
68

Matlab
5.2.Özel Dizi (Matris) Olusturan Bazı Fonksiyonlar: Genel Matrisler:

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.

69

Matlab
5.2. Genel Matrisler: Özel Dizi (Matris) Olusturan Bazı Fonksiyonlar: d) Rastgele Sayılardan Olusan Matris ve Fonksiyonu:

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

70

Matlab
5.2. Genel Matrisler:

Çözüm: a) a=rand(1,10); b) b=10+rand(5,3)*40; c) c=round(50+rand(3,4)*250);

71

Matlab
5.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);

72

Matlab
5.2. Genel Matrisler: f) Lineer Aralıklı (Aritmetik) Dizi ve Fonksiyonu:

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.

73

Matlab
5.2. Genel Matrisler: f) Lineer Aralıklı (Aritmetik) Dizi ve Fonksiyonu:

Örnek: 10 ile 30 arasına 9 tane daha sayı koyarak a adında bir aritmetik dizi olusturalım.

Cevap: a=linspace(10,30,11);

74

Matlab
6. MATRİSLER VE İŞLEMLERİ

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.

75

Matlab
6. MATRİSLER VE İŞLEMLERİ Birden fazla satır ve sütuna sahip vektörlere matris denir. Noktalı virgül (;) işareti ile kolonları ve virgüle işareti ya da boşluk 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

76

Matlab
6. MATRİSLER VE İŞLEMLERİ

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

Matlab
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= 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

78

Matlab
6. MATRİSLER VE İŞLEMLERİ

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

79

Matlab
6. MATRİSLER VE İŞLEMLERİ a) Toplama-Çıkarma Bir Sayı ile Çarpma İşlemi:

İki matrisi toplamak (veya çıkarmak) demek, matrislerin aynı mertebedeki elemanları teker teker toplayıp (veya çıkarıp ) 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.

80

81

Matlab
6. MATRİSLER VE İŞLEMLERİ Ö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
82

Matlab
6. MATRİSLER VE İŞLEMLERİ

Ö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. Çö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
83

Matlab
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.
84

Matlab
6. MATRİSLER VE İŞLEMLERİ

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.

85

Matlab
6. MATRİSLER VE İŞLEMLERİ Ö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.
86

Matlab
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ı olabilmesi için aynı mertebeli olması gerekir.Halbuki bu matrisler aynı mertebeden olmadığından bu iki matris eleman-elemana çarpma islemi 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) 87 f) i) x^2 ii) x^3 iii) x^10

Matlab
6. MATRİSLER VE İŞLEMLERİ

c) Bir Matrisin Devriğini (Transpozesi) Bulma İslemi: Bir matrisin satırlarını sütun, sütunlarını satır olarak yazılmasıyla bulunan matrise, bu matrisin devriği (transpozesi) denir. Bir matrisin devriğini .' islemi ile bulabiliriz. Örnek: a=[-1 3 5;2 1 7] nın devriğini buldurup d matrisine atayalım. Çözüm: d=a.';

88

Matlab
6. MATRİSLER VE İŞLEMLERİ

Örnek: b=[7 8 9; 10 11 12]; matrisinin transpozesini bulabilirmisiniz?

Çözüm: c=b' c= 7 8 9 10 11 12
89

Matlab
6. MATRİSLER VE İŞLEMLERİ

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? ÇÖZÜM: Çarpma işlemi: k=a*c k= 50 68 122 167

90

Matlab
6. MATRİSLER VE İŞLEMLERİ 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?

ÇÖZÜM: x=a.*b x= 7 16 27 40 55 72
91

Matlab
6. MATRİSLER VE İŞLEMLERİ

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.

92

Matlab
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:

eye(3,3)/a veya inv(a)

islemini kullanırız.
93

Matlab
6. MATRİSLER VE İŞLEMLERİ

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)
94

Matlab
6. MATRİSLER VE İŞLEMLERİ KURAL:

95

Matlab
6. MATRİSLER VE İŞLEMLERİ

Örnek: Verilen bir x matrisi için: » x=[ 2 -1; 5 8] Determinant: » deter=det(x) deter = 21

96

Matlab
6. MATRİSLER VE İŞLEMLERİ

Ö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

97

Matlab
6. MATRİSLER VE İŞLEMLERİ 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.
98

Matlab
6. MATRİSLER VE İŞLEMLERİ

Çö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
99

You're Reading a Free Preview

İndirme
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->