MATLAB* ta Diziler

advertisement
MATLAB’ TA DIZILER
DERS İÇERIĞI
Diziler
 Vektörler
 Vektörün oluşturulması
 Vektör İşlemleri
 Polinomlar
 Matrisler
 Matrislerin Oluşturulması
 Matris İşlemleri

DIZILER
Dizi ; içerisinde sayısal veya metinsel değerler
barındıran kümedir.
 MATLAB uygulamalarında temel yapı dizilerdir.
 Diziler temelde iki gruba ayrılır

Vektörler
 Matrisler


Bu dersimizde sadece sayısal değerler içeren
diziler üzerinde duracağız.
VEKTÖRLER
Tek boyutlu dizilere “Vektör” adı verilir.
 Tek boyutlu oldukları için boyutları,

1xN : Tek satır, N sütun yada
 Mx1: M satır, Tek Sütun şeklinde gösterilir


Örnek :
1x4 boyutunda vektör : [1 2 3 4]
 4x1 boyutunda vektör : [ 1
2
3
4]

VEKTÖRLER

MATLAB ta vektör oluşturmanın 3 temel farklı
yolu vardır.
Köşeli parantez kullanarak vektör oluşturma
 Eşit aralıklı elemanlar kullanarak; “:” işaretini
kullanarak veya “linspace”, “logspace” komutlarıyla
 Fonksiyonlar kullanılarak

KÖŞELI PARANTEZ YÖNTEMI
Standart özelliklere sahip olmayan, küçük
boyutlu vektörlerin oluşturulmasında en iyi
yöntemdir.
 Tek satırlık vektörler



Tek sütunluk vektörler


V=[ e1, e2,e3] veya V=[e1 e2 e3]
V=[e1;e2;e3] şeklinde vektör oluşturulur.
Örnek: V=[1 5 6 9] vektörü

V=[1 5 6 9] yada V=[1,5,6,9] şeklinde oluşturulabilir.
SABIT ARALIKLI VEKTÖR OLUŞTURMA
Elemanları sabit aralıklarla artan yada azalan
vektörler oluşturmak için “:” yazım şekli
kullanılır.
 V= İlkDeğer : DeğişimMiktarı : SonDeğer
 Örnek:

V=1:2:10 komutu ile oluşan vektör V=[1 3 5 7 9]
 V=0:4 komutu ile oluşan vektör V=[0 1 2 3 4]



Değişim miktarı girilmediği için 1 kabul edilmiştir.
V=0:-2:10 komutu yazıldığında hata mesajı alınır.
SABIT ARALIKLI VEKTÖR OLUŞTURMA
“linspace” ve “logspace” fonksiyonları ile vektör
oluşturulduğunda başlangıç ve bitiş değerleri
arasında kaç nokta olacağı belirlenebilir.
 Vektörü “linspace” lineer olarak, “logspace”
logaritmik olarak parçalara ayırır.
 linspace(x1,x2,n) logspace(x1,x2,n)



x1: İlk Değer x2:Son Değer n:nokta sayısı
Örnek : V=linspace(1,10,4) komutu ile oluşan
vektör V=[1,4,7,10]
FONKSIYONLARLA VEKTÖR OLUŞTURMA

Fonksiyonlar kullanılarak vektör oluşturma iki
şekilde gerçekleştirilir.

“rand” fonksiyonu kullanılarak rastgele değerler
üretme
V=a + (b-a)*rand(m,n)

V vektörü a ile b arasında dağılmış rastgele sayılardan
oluşur.
 m ve n vektörün boyutunu göstermektedir.


Örnek: a=1 ile b=5 arasında rastgele 6 sayı üretmek
için komutumuz V=1+(5-1)*rand(1,6) dır.
FONKSIYONLARLA VEKTÖR OLUŞTURMA
•
•
“ones” fonksiyonu ile sadece tek bir elemandan oluşan
vektörler oluşturulabilir.
“ones” fonksiyonu kullanım şekli: V=x*ones(m,n)



“x” elemanın ne olduğunu
m,n vektörün boyutunu gösterir.
“zeros” fonksiyonu ile sadece ‘0’lardan oluşan
vektörler oluşturulabilir.
 “zeros”
fonksiyonu kullanım şekli:
V=zeros(m,n)
 Örnek: altilar= 6*ones(1,3) komutu
sonucu altilar=[6 6 6] vektörü oluşur.
VEKTÖR OLUŞTURMA – VIDEO DERS
VEKTÖRLERDE ARITMETIK İŞLEMLER
Vektörler üzerinde de tüm aritmetik işlemler
yapılabilir ama çarpma ve bölme işlemi yapılacak
vektörlerin boyutlarının aynı olması
gerekmektedir.
 Örnek : v1[1 3 5] v2 [9 7 5]

toplam=v1+v2 => toplam[10 10 10]
 carpim=v1*v2’ => carpim[55]

İki vektörün karşılıklı elemanları arasında
yapılacak işlemlerde ‘ . ’ kullanılır.
 Örnek : v1[1 3 5] v2 [9 7 5]


carpim=v1.*v2 => carpim[9 21 25]
VEKTÖRLERDE ARITMETIK İŞLEMLER
Aritmetik
İşlem Adı
MATLAB
Gösterimi
Toplama
Çıkarma
v1+v2
v1-v2
Çarpma
v1.*v2
Sağa bölme
v1./v2
Sola bölme
Üs alma
v1.\v2
v1.^v2
Transpose
v1’
İndeksleme
v1(n)
Örnek Uygulama
V1=[1 2 3],
V2=[-1 2 6]
0 4 9
2 0 -3
-1 4 18
Açıklama
Karşılıklı elemanlar toplanır
Karşılıklı elemanlar çıkartılır
Karşılıklı elemanları çarpılır
-1.00 1.00 0.50 v1 dizisinin her elemanı,
sırasıyla v2 dizisinin her
elemanına bölünür
-1 1 2
Sağa bölmenin tersi
1 4 729
v1 dizisindeki her elemanın,
sırasıyla v2 deki elemanlarla
üslerini alınır
1
Satır vektörünü sütun
vektörüne çevirir veya tersini
2
yapar.
3
a(1)=1, b(3)=6 Vektörün n. elemanını verir
VEKTÖRLERE FONKSIYONLARI
UYGULAMAK
: Verilerin en büyük değerlisini bulur.
: Verilerin en küçük değerini bulur
:Veri uzunluğunu, kaç tane veri olduğunu
bulur.
 sum
: Verilerin toplamını verir
 Prod
: Verilerin çarpımını verir
 median
: Verilerin ortanca değerini bulur
 std
: Verilerin standart sapmasını hesaplar
 mean
: Verilerin ortalama değerini hesaplar
 geomean : Verilerin geometrik ortalamasını
hesaplar
 harmean : Verilerin harmonik ortalamasını
hesaplar
 sort
: Verileri azalan sırada sıralar
max
 min
 length

POLINOMLAR
Polinomlar özel tipte tanımlanmış
fonksiyonlardır.
 Tek değişkenli n. dereceden bir polinomun genel
şekli


P(x) = anxn + an-1xn-1 + … + a1x + a0
n: polinomun derecesi
 a: polinomun katsayıları


MATLAB’da polinomlar bir vektörle gösterilir.
Vektörün elemanları x’in en büyük üssünden
başlayarak, azalan sıradaki katsayılardır.


Olmayan dereceler için 0 girilmelidir.
Örnek: P(x) = 5x3 - 6x2 + 10x - 3 polinomu

>> P_x = [5 -6 10 -3] şeklinde gösterilir.
POLINOM İŞLEMLERI
Polinom toplama - çıkarma için bir fonksiyon
sağlamaz. Her iki polinom aynı büyüklükte ise
standart dizi işlemleri yapılır.
 Polinomların Çarpımı: “conv(P,Q)” fonksiyonu ile
yapılır. Sonuç yine bir polinomdur.
 Polinomların Bölümü “deconv(P,Q)” fonksiyonu
ile yapılır. Kullanım şekli :
[B, K] = deconv(P,Q) B : Bölüm, K : Kalan

POLINOM FONKSIYONLARI

polyval(p,k) fonksiyonu
Polinomun x=k için alacağı değeri hesaplar.
 Örnek P(x) = x3 + x polinomunun x=2 için çözümü

>> p=[1 0 1 0]
 >>polyval(p,2)
 >> 10


roots(P) fonksiyonu
Polinomların köklerini bulmak için kullanılır.
 Örnek : P(x) = x4 + 3x3 -15x2 - 2x + 9 polinomunun
köklerini bulmak için :


>> kokler = roots([1 3 -15 -2 9])
POLINOM FONKSIYONLARI

poly(root) fonksiyonu
Kökleri belli olan bir polinom oluşturur.
 Örnek : Kökleri -4 ve 3 olan polinom :



>> poly = poly([-4 3])
polyder(P) fonksiyonu
Polinomun türevini almak için kullanılır.
 Örnek:


>> P = [-7 -3 1 14]

>>pturev = polyder(P)
MATRISLER
Bir F matrisi en genel olarak aşağıdaki şekilde gösterilir
F12
F22
.
.
Fm 2
2. sütun
1. sütun
 F11
F
 21
F   ...

 ...
 Fm1
F1n  1. satır
... F2 n  2. satır
. ... 

. ... 
. Fmn  mxn
...
MATRISLER
2 veya daha çok boyutlu dizilere “Matris” adı
verilir.
 Matrisler m x n boyutlu dizilerdir.

m: satır sayısı
 n: sütun sayısını gösterir.


Örnek : 2 x 2 boyutlu bir matris
[a11 a12
a21 a22]
MATLAB TA MATRIS OLUŞTURMA

MATLAB ta 3 farklı yolla matris oluşturulabilir.
Köşeli parantez kullanarak matris oluşturma
 Utility Fonksiyonlarını kullanarak matris oluşturma
 Özel matrisler oluşturma

KÖŞELI PARANTEZ YÖNTEMI
En sık kullanılan yöntemdir.
 MatrisAdı = [ 1.satır ; 2.satır ; 3.satır] şeklinde
formülüze edilebilir.
 Örnek: A=[ 11 12 13
21 22 23 ] matrisi şu komutlarla
oluşturulabilir.

>> A=[ 11 12 13; 21 22 23]
 >> A=[ 11,12,13; 21,22,23]
 >> A=[ 11
12
13; 21 22

23]
Matrisler sadece skaler değerlerden oluşabileceği
gibi içerisinde fonksiyonlarda barındırabilir.
 Örnek : A=[ 1,3,4 ; sqrt(4), cos(60),4^2]

UTILITY FONKSIYONLARIYLA MATRIS
OLUŞTURMA

“rand” fonksiyonu kullanılarak rastgele değerler
içeren matris üretme

Genel kullanım şekli: M=a + (b-a)*rand(m,n)
M matrisi a ile b arasında dağılmış rastgele sayılardan
oluşur.
 m ve n matrisin boyutunu göstermektedir.


Örnek: a=1 ile b=5 arasında rastgele değerler
içeren 3x4 boyutunda bir matris üretmek için
komutumuz

>> M=1+(5-1)*rand(3,4)
UTILITY FONKSIYONLARIYLA MATRIS
OLUŞTURMA
•
•
“ones” fonksiyonu ile sadece tek bir elemandan oluşan
matrisler oluşturulabilir.
“ones” fonksiyonu kullanım şekli: M=x*ones(m,n)



“x” elemanın ne olduğunu
m,n matrisin boyutunu gösterir.
“zeros” fonksiyonu ile sadece ‘0’lardan oluşan
matrisler oluşturulabilir.
 “zeros”
fonksiyonu kullanım şekli:
M=zeros(m,n)
 Örnek: altilar= 2*ones(2,2) komutu
sonucu altilar=[2 2 ; 2 2] matrisi oluşur.
UTILITY FONKSIYONLARIYLA MATRIS
OLUŞTURMA

“eye” fonksiyonu kullanılarak birim matris
oluşturulur.

Birim Matris: Köşegen elemanları “1” diğer
elemanları “0” olan matristir.
Genel kullanım şekli : M=eye(m,n)
 Örnek: 3x3 boyutlarında bir birim matris
üretmek için komutumuz


>> M=eye(3,3)
ÖZEL MATRISLER OLUŞTURMA

pascal(k) fonksiyonu


magic(k) fonksiyonu


k. sıraya kadar pascal üçgeninin elemanlarından
oluşan k x k boyutunda bir matris oluşturur.
k x k uzunluğunda 1’den k’ya kadar sayılardan
oluşan eşit değerli satır, sütun ve köşegen toplamına
sahip bir kare matris oluşturur.
Bunların dışında matris oluşturmak için
kullanılan birçok fonksiyon bulunmaktadır.

toeplitz,hankel, hadamard, rosser, wilkinson vb...
MATRISLERDE ARITMETIK İŞLEMLER
İşlem
Matlab Formu
Toplama
a+b
Çıkarma
a-b
Çarpma
a*b
Bölme
a/b
Örnek
a=[1 2 ;-2 5],
b=[-1 3; 4 2]
0 5
2 7
2 -1
-6 3
Açıklama
Aynı boyda matrislerin
karşılıklı elemanları toplanır
Aynı boyda matrislerin
karşılıklı elemanları çıkartılır
Matris çarpım kuralına göre
işlem yapılır. İki matrisin
7 7
çarpım kuralı: 1. matrisin
22 4
sütun sayısı, ikinci matrisin
satır sayısına eşit olmalıdır.
-1 yani a*inv(b) kuralına
a·b
0.4286 0.3571
göre işlem yapılır. İnv,
1.7143 -0.0714 matrisin tersi demektir.
MATRISLERDE ARITMETIK İŞLEMLER
İşlem
Üs alma
Skaler
işlem
dort işlem
Matlab
Formu
a^5
3*a
a.^5
Örnek
a=[1 2 ;-2 5],
b=[-1 3; 4 2]
-567
-810
3
-6
1
-32
810
1053
Açıklama
an için n tane matris yan yana
çarpım kuralına göre çarpılır. N
skalerdir ve matrisin kare matris
olma koşulu vardır.
6
15
n bir skaler sayı olmak üzere
n*a işleminde matrisin herbir
elemanı n ile çarpılır. Diğer
işlemler içinde aynı şekilde
kullanılır.
32
3125
Nokta işaretli işlemler,
matrislerde elemanter işlem
yapılacağını gösterir. n skaler
olmak üzere a.^n, a matrisindeki
herbir elemanın n. kuvvetinin
alınacağını ifade eder.
MATRISLERDE ARITMETIK İŞLEMLER
VIDEO DERS
MATRIS BILGI ALMA FONKSIYONLARI
İşlem
Determinant
Transpoze
Matlab Formu
a’
inv(a)
Boyu
size(a)
Açıklama
9
det(a) fonksiyonu
ile matrisin
determinantı
hesaplanır
1 -2
2 5
Satır – sütun yer
değiştirir
det(a)
Ters alma
Köşegen
Örnek
a=[1 2 ;-2 5],
0.56 0.22
0.22
0.11
2
2
1
inv(a) ile matris ters
alma kuralına göre
işlem yapılır.
Matrisin kare matris
olma zorunluluğu
vardır.
Matrisin
boyutlarını verir.
Matrisin köşegen
NELER ÖĞRENDIK
Vektörün ne olduğunu
 Vektörlerin nasıl oluşturulduğunu
 Vektörlerde işlemlerin nasıl yapıldığını
 Polinomlarda işlemlerin nasıl yapıldığını
 Matrisin ne olduğunu
 Matrislerin nasıl oluşturulduğunu
 Matrislerde işlemlerin nasıl yapıldığını

Download