You are on page 1of 99

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ş
2
10. http://www.mathworks.com/matlabcentral/
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
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 M-
dosyaları 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.

Command Windowa : save


Örnek:
yazılırsa değişkenler
>> a=[1,2,3; 5,7,9]
“matlab.mat” veri
dosyasına kaydedilmiş
a=
olur.
1 2 3 Matlabı kapatıp açalım ve
5 7 9 matlab.mat’ı çağıralım.
Yada : (FileÆopenÆmatlab.mat)
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
MATLABGenel Yapısı
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 M-
Dosyası

Dosya Aç Help Desk

Kayıtlı Matlab
Fonksyonu,
kayıt
dosyası(mat), Veri dosyalarını
modeli, figürü açar
ve GUI
arayüzlü
Çalışma
fonksyonları
ortamını
açar
kaydeder

Matlab arayüzünü
Farklı
ayarlar
çalışma
dizinini
Matlaba 25
tanıtır
MATLAB
1. Matlab'ın Genel Yapısı

Başlat Düğmesi

Matlab araç kutuları, Matlab


uygulamalarına eklenti olarak
hazırlanan ve hazır fonksyonları
içeren paketlerdir.

26
MATLAB
Başlat Düğmesi
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
Uygulamaları Araç
için kısa yol kutuları
SimulinkUy
gulaması

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

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. 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; %A: değişkenine skaler bir değer atar
B=A /7; %B değişkenine A değişkeninin 1/7 si atanmıştır
C=[3 4 5 6]; % 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.
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.
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 MATLAB’ da işlemler soldan sağa işlerler.


o İşlemler arası öncelik sırası aşağıdaki gibidir:

1. ^ (Yüksek)
2. *, / ↓
3. +, - (Düşük)

» 3^(2–5)-6/3*2 » 3^2–5–6/3*2
ans = ans =
—3.9630 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ı
oSinyal işleme 49
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]; Satır Vektörü

>> b=[1 Sütun Vektörü


B = [1; 2; 4; 6];
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= [ 4 27 6]
A(2) = [ ]
3. >> A(9) = 12 A =[ 2 27 7 0 0 0 0 0 12]

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 =
57
61 17 83
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;
Örnek:
x=[1; 7; 18; 5]
¾d1=[5] 1x1 lik, Ya da
¾d2=[ 2 -7] 1x2 lik, » x=[ 1
7
¾d3= [1 0 -3 ] 18
[531] 5]
Biçimlerinde girilebilir.
2x3 lük bir dizidir.

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, Bu durumda M matrisi


M=[1 3 5 7 8 9] matrisine M=[1 3 5
aşağıda gösterildiği şekilde bir 7 8 9
satır eklemesi yapabilir. 10 13 15]
M=[M;[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
Genel Matrisler:
Dizi (Matris) Olusturan Bazı Fonksiyonlar:

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
Genel Matrisler:
Dizi (Matris) Olusturan Bazı Fonksiyonlar:

¾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 76
11 12 13 14
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
78
-1
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)
f) i) x^2 ii) x^3 iii) x^10 87
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 10
8 11
9 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 might also like