Matlab
Matlab
SAYISAL ANAL İZ
Matlab’a Giriş
Derleme Ders
Notları
Ö ğr. Gör. Arzu ERENER
email:ae76@hotmail.com.tr2
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
1. Kapsam
Sayısal Analiz
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 İşlemler4
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 Analiz5
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.
1. MATLAB
Sayısal Analiz6
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.
1. MATLAB
Sayısal Analiz7
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 Analiz8
1. MATLAB
Sayısal Analiz
Matlab matrix tabanlı
bir dildir.
Matlabda ilk ba şlangıçta herşeyi matris olarak dü şünmek yararlı
olacaktır.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. 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 matrisi
o1xn matris satır matrisi
omxn matris m satırlık ,n sütunluk matristir.
1. MATLAB
Sayısal Analiz11
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ı
MATLAB12
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ı
MATLAB13
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ı
MATLAB14
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
1. Matlab'ın Genel Yapısı
MATLAB15
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ı
MATLAB16
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
Command History
1. Matlab'ın Genel Yapısı
MATLAB17
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.
Workspace
Üstüne sa ğ tu ş yapıp
özellikler eklenebilir
eg.size
1. Matlab'ın Genel Yapısı
MATLAB18
Workspace
Ö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.
1. Matlab'ın Genel Yapısı
MATLAB
Ö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ı
MATLAB20
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ı
MATLAB21
clc:
Komut penceresindeki satırları
silmeye yarar
clear:
Hafızadaki de ği şkenler silinir
1. Matlab'ın Genel Yapısı
MATLAB22
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ı
MATLAB23
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.
Yada :
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.
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)
.
1. Matlab'ın Genel Yapısı
MATLAB
Örnek:
>> a=[1,2,3; 5,7,9]
a =
1 2 3
5 7 924
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ı
MATLAB25
Matlab MasaÜstü
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ı
MATLAB26
Ba şlat Dü ğmesi
Matlab araç
kutuları, Matlab
uygulamalarına eklenti olarak
hazırlanan ve hazır fonksyonları
içeren paketlerdir.
1. Matlab'ın Genel Yapısı
MATLAB27
Ba şlat Dü ğmesi
Start Dü ğmesi tüm matlab uygulamalarına açılan kısayolları
içermektedir.
Matlab
Uygulamaları
için kısa yol
Araç
kutuları
SimulinkUy
gulaması
Demolar
Veri Sihirbazı
GUI Hazırlayıcı
1. Matlab'ın Genel Yapısı
MATLAB28
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.
1. Matlab'ın Genel Yapısı
MATLAB29
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.
1. Matlab'ın Genel Yapısı
MATLAB30
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:
Matlab31
Genel komutların isimleri ve açıklamaları
2. Matlab Kullanımında Temel Kurallar:
MATLAB32
2. Matlab Kullanımında Temel Kurallar:
MATLAB
MATLAB kontrolünü
kullanabilmeniz için özel karakterlere sahiptir.
Bu karakterlerin bir özeti :33
2. Matlab Kullanımında Temel Kurallar:
Matlab34
2. Matlab Kullanımında Temel Kurallar:
Matlab35
İ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 İSLER36
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 37
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
3.2. Deği şlenler
Matlab
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
Matlab39
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:
=;
3.2. Deği şlenler
Matlab40
Ö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.
3.2. Deği şlenler
Matlab41
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.
3e
5
sayısıda 3*10
5
anlamındadır
MATR İSLER42
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
2e
4
=2.10
4
=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 İSLER43
Sayı
Formatları:
3.3. Sayılar
Matlab
MATR İSLER44
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.
3.4 Operatörler(sayısal işlemciler):
MATR İSLER45
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 2\3 ifadelerinin sonuçları
aynı
olup 1.5’dir
» 4+8*3–2
ans =
26
3.4 Operatörler(sayısal işlemciler):
MATR İSLER46
3.4 Operatörler(sayısal işlemciler):
MATR İSLER
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
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. ^
(Yüksek)
2. *, /
v
3. +, -
(Düşük)
» 3^(2–5)-6/3*2 » 3^2–5–6/3*2
ans = ans =
—3.9630 0
3.4 Operatörler(sayısal işlemciler):
MATR İSLER49
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 şleme50
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
Matlab52
Ö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ı
Matlab53
Örnek:
Komut satırına
a)
sin(30)
b)
sin(30*pi/180) yazınız sonuçları
inceleyiniz.
3.5. Fonksyonlar
MATR İSLER
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
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ü56
Vektör indisleri
4. Vektörler
Matlab
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= [ 4 27 6]
A =[ 2 27 7 0 0 0 0 0 12]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:
Matlab58
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??
Dizilerin Değerlerinin Değistirilmesi ve Düzenlenmesi:
4. Vektörler
Matlab59
4. Vektörler
Matlab60
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:
Matlab61
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.
5. Matlab'da Dizi (Matris) İşlemleri:
Matlab62
8. Matrisler(Dizi)
Matlab
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
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
Matlab65
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:
Matlab66
Ö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:
Matlab67
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);
Özel Dizi (Matris) Olusturan Bazı
Fonksiyonlar:
5.2. Genel Matrisler:
Matlab68
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:
Matlab69
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:
Matlab70
Ö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.
Özel Dizi (Matris) Olusturan Bazı
Fonksiyonlar:
d) Rastgele Sayılardan Olusan Matris ve Fonksiyonu:
5.2. Genel Matrisler:
Matlab71
Çö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:
Matlab72
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);
5.2. Genel Matrisler:
Matlab73
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.
5.2. Genel Matrisler:
Matlab74
Örnek: 10 ile 30 arasına 9 tane daha sayı
koyarak a
adında bir aritmetik dizi olusturalım.
f) Lineer Aralıklı
(Aritmetik) Dizi ve Fonksiyonu:
5.2. Genel Matrisler:
Matlab
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 İ
Matlab76
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
6. MATR İSLER VE İŞLEMLER İ
Matlab77
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ı.
6. MATR İSLER VE İŞLEMLER İ
Matlab78
İ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
6. MATR İSLER VE İŞLEMLER İ
Matlab79
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 İ
Matlab80
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.
6. MATR İSLER VE İŞLEMLER İ
Matlab8182
Ö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 İ
Matlab83
Ö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*b84
İ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.
b) İki Matrisin Çarpımı, Bir Matrisin Kuvvetleri ve
Çarpma İslemi:
6. MATR İSLER VE İŞLEMLER İ
Matlab85
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 İ
Matlab86
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.
Ö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.
6. MATR İSLER VE İŞLEMLER İ
Matlab87
Çö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
6. MATR İSLER VE İŞLEMLER İ
Matlab88
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.';
6. MATR İSLER VE İŞLEMLER İ
Matlab89
Ö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 1290
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 16791
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 =
7 16 27
40 55 7292
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 İ
Matlab93
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:
d) İki Matrisin Bölümü, Birim Matris ve Bir Matrisin Tersi :
eye(3,3)/a veya inv(a)
islemini kullanırız.
6. MATR İSLER VE İŞLEMLER İ
Matlab94
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 İ
Matlab95
KURAL:
6. MATR İSLER VE İŞLEMLER İ
Matlab96
Örnek:
Verilen bir x matrisi için:
»
x=[ 2 -1; 5 8]
Determinant:
»
deter=det(x)
deter =
21
6. MATR İSLER VE İŞLEMLER İ
Matlab97
Örnek Inverse i şlemi:
Verilen bir x matrisi için:
»
x=[ 2 -1; 5 8]
Detx=det(x)=21 ise;
»y= i n v(x )
y =
8/21 1/21
-5/21 2/21
6. MATR İSLER VE İŞLEMLER İ
Matlab98
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 İ
Matlab99
Çö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