47
DOÇ. DR. ERSAN KABALCI MATLAB Temel işlemler, Vektörler, Matrisler

Matlab'de Temel işlemler, Vektörler, Matrisler

  • Upload
    voque

  • View
    230

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Matlab'de Temel işlemler, Vektörler, Matrisler

DOÇ. DR. ERSAN KABALCI

MATLAB

Temel işlemler, Vektörler, Matrisler

Page 2: Matlab'de Temel işlemler, Vektörler, Matrisler

İçerik

Matlab Nedir?

Matlab’ın Kullanım Alanları

Matlab Açılış Ekranı

Matlab Programı İle Temel İşlemlerin Gerçekleştirilmesi

Vektör İşlemleri

Matris İşlemleri

Sorular

Page 3: Matlab'de Temel işlemler, Vektörler, Matrisler

MATLAB Nedir?

MATLAB; (MATrix LABoratory)

İlk defa 1970’lerin sonunda matematik ve özellikle de matris esaslı matematik ortamında kullanılmak üzere geliştirilmiş etkileşimli bir paket programlama dilidir.

İlk sürümleri FORTRAN dilinde, son sürümleri ise C dilinde hazırlanmıştır.

Page 4: Matlab'de Temel işlemler, Vektörler, Matrisler

Kullanım Alanları

Denklem takımlarının çözümü, doğrusal ve doğrusalolmayan diferansiyel denklemlerinin çözümü, integralhesabı gibi sayısal hesaplamalar,

Veri çözümleme işlemleri,

İstatistiksel hesaplamalar ve çözümlemeler,

Grafik çizimi ve çözümlemeler,

Bilgisayar destekli denetim sistemi tasarımı.

Page 5: Matlab'de Temel işlemler, Vektörler, Matrisler

Matlab, temel olarak 5 ana kısımdan oluşur:

Matematiksel fonksiyon kütüphanesi

Hesapsal algoritmalar

Ortam geliştirme

Komut penceresi, Çalışma alanı vb.

Matlab dili

Akış şemaları, nesne yön. programlama

Page 6: Matlab'de Temel işlemler, Vektörler, Matrisler

Handle grafik sistemi

2-3 boyutlu grafikler, animasyonlar vb.

MATLAB-API uygulama programı arabirimi

C ve Fortrana uyarlanabilen prog. yazmayı sağlayan kütüphane

Page 7: Matlab'de Temel işlemler, Vektörler, Matrisler

Matlab Açılış Ekranı (R2013a)

Workspace (Çalışma alanı)Current Directory

(Geçerli dizin) Command Window(Komut Ekran)

Command History(Komut Geçmişi)

Page 8: Matlab'de Temel işlemler, Vektörler, Matrisler

Bunlar haricinde;

M-dosyaları oluşturmak için m-file,

Grafiksel durumları göstermek için figure,

Graphics user interface GUI,

Simulink uygulamaları için model penceresimevcuttur. (Bunlar File, New altında görülebilir)

Page 9: Matlab'de Temel işlemler, Vektörler, Matrisler

Çalışma sayfası (Workspace):

Matlab çalışma sayfasında yapılan tüm çalışmalar,matrissel işlemler üzerine bina edilmiştir.

Program, değişkenleri matris formatına dönüştürür.

Herhangi bir sayı, 1x1’lik matris formatında hafızayadepolanır.

Page 10: Matlab'de Temel işlemler, Vektörler, Matrisler

Komut penceresi:

Komut penceresinden girilen tüm değişkenler(m=1.2 k=-2.5 vb) ve özellikleri çalışma alanındagörülür.

>> clc ekranı temizler.

>> help komutu ile help topics sıralanır.

örn.:

help graph2d ile özel yardıma ulaşılabilir.

Page 11: Matlab'de Temel işlemler, Vektörler, Matrisler

MATLAB’DA TEMEL İŞLEMLER

Page 12: Matlab'de Temel işlemler, Vektörler, Matrisler

Kullanılan ifadeler:

Sayılar

Değişkenler

Operatörler

Fonksiyonlar

Page 13: Matlab'de Temel işlemler, Vektörler, Matrisler

Örnek:

>> x=4*sqrt(5)

x =

8.9443

x: Değişken

4: Sayı

*: Operatör

sqrt: Fonksiyon

Page 14: Matlab'de Temel işlemler, Vektörler, Matrisler

Aritmetik İşlemler:

Toplama: +

Çıkarma: -

Çarpma: *

Bölme: /

Aritmetik işlemler soldan sağa doğru yapılmaktadır.

Page 15: Matlab'de Temel işlemler, Vektörler, Matrisler

İşlem sırası:

Aritmetik işlemlerde öncelik sırası daima parantezli ifadelerindir.

Parantez yoksa sıra; önce üslü (^) ifadeler, sonra bölme çarpma, sonra toplama çıkarma işlemi.

Page 16: Matlab'de Temel işlemler, Vektörler, Matrisler

Değişken:

Uzun sayı veya ifadelerin kısa bir isimle ifadeedilmesini sağlar.

İsimlendirilen değişken veya yapılan işlem sonucugörüntülenmek istenmiyorsa ifade sonuna (;) ilaveedilir.

Page 17: Matlab'de Temel işlemler, Vektörler, Matrisler

Örnek:

>> x=43.75

x =

43.7500

>> x=43.75;>>

Page 18: Matlab'de Temel işlemler, Vektörler, Matrisler

Dizi oluşturma:

[ ] içine veri girilerek oluşturulur, iki veri arasında bir boşluk bırakılmalıdır.

Örnek:>> dizi=[1 3 5 7 9]dizi =

1 3 5 7 9>> dizi=[1:2:9]dizi =

1 3 5 7 9

Page 19: Matlab'de Temel işlemler, Vektörler, Matrisler

Dizi oluşturma:

Lineer değişen dizi:

linspace(ilkdeğer, sondeğer, terim sayısı)

Örnek:

>> linspace(1,9,5)

ans =

1 3 5 7 9

Page 20: Matlab'de Temel işlemler, Vektörler, Matrisler

Dizi oluşturma:

Logaritmik değişen dizi:

logspace(ilkdeğer, sondeğer, terim sayısı)

Örnek:

>> logspace(1,2,5)

ans =

10.0000 17.7828 31.6228 56.2341 100.0000

Page 21: Matlab'de Temel işlemler, Vektörler, Matrisler

Terim sayısının bulunması:

Çok elemanlı dizilerin eleman sayısı length() ile bulunur.

>> length(ans)

ans =

5

Page 22: Matlab'de Temel işlemler, Vektörler, Matrisler

Trigonometrik fonksiyonlar:

Fonksiyon İşlem

sin() Sinüs sinh() Hiperbolik sinüs asin() Arcsinüs asinh() Hiperbolik arcsinüs cos() Cosinüs tan() Tanjant cot() Kotanjant sec() Sekant csc() Kosekant angle() Karmaşık sayıların faz açısını bulur

Trigonometrik fonksiyonlar, açıları radyan cinsinden kabul eder.

Page 23: Matlab'de Temel işlemler, Vektörler, Matrisler

VEKTÖRLER VE MATRİSLER

Page 24: Matlab'de Temel işlemler, Vektörler, Matrisler

Vektör

Tek satır veya tek sütundan oluşan matristir.

Dizi şeklinde tanımlanabilirler.

Terimler arasına (,) konularak satır vektörü, (;)konularak sütün vektörü elde edilebilir.

>> v=[1 2 3 4 5] >> v=[1,2,3,4,5] v = v =

1 2 3 4 5 1 2 3 4 5

Page 25: Matlab'de Temel işlemler, Vektörler, Matrisler

Sütun vektörü

>> v=[1;2;3;4;5]

v =

12345

Page 26: Matlab'de Temel işlemler, Vektörler, Matrisler

Matris

Matris tanımlanırken, vektör tanımlama yöntemlerikullanılabilir.

Örnek:>> m=[1,2,3;4,5,6;-1,-2,-3]m =

1 2 34 5 6-1 -2 -3

>> size(m)ans =

3 3

Page 27: Matlab'de Temel işlemler, Vektörler, Matrisler

Matris indisleri

>> m(3,2)=20 %m nin 3. satır 2 sütununa 20 atandı

m =

1 2 3

4 5 6

-1 20 -3

Page 28: Matlab'de Temel işlemler, Vektörler, Matrisler

Matris indisleri

>> m(:,3)=-5 %3. sütununun tamamına -5 atandı

m =

1 2 -5

4 5 -5

-1 20 -5

Page 29: Matlab'de Temel işlemler, Vektörler, Matrisler

Matris indisleri

>> m(3,1:2)=[70 80] %3 satırın 1 ve 2. sütununa 70 ve 80 atandı

m =

1 2 -5

4 5 -5

70 80 -5

Page 30: Matlab'de Temel işlemler, Vektörler, Matrisler

Matrislerin biriktirilmesi

Uygun yapıdaki matrislerin yan yana veya alt alta konulması ile gerçekleştirilir.

Matrisler alt alta (;) operatörü ile konulur.

Matrisler yan yana (,) operatörü ile konulur.

>> [a;b] komutu ile b matrisi a matrisinin altına konulur.

Page 31: Matlab'de Temel işlemler, Vektörler, Matrisler

Örnek

>> a=[1,2,3;4,5,6]; b=[7,8,9]; c=[10;11];>> [a;b]

ans =

1 2 34 5 67 8 9

>> [a,c,c]

ans =

1 2 3 10 104 5 6 11 11

Page 32: Matlab'de Temel işlemler, Vektörler, Matrisler

Özel matrisler

zeros(x,y) x,y boyutunda tüm elemanları sıfır olan matris üretir.

ones(x,y) tüm elemanları bir olan matris üretir.

eye(x,y) birim matris üretir.

diag(x:y) köşegene istenen aralıkta sayı yazdırır.

rand(x,y) 0.0 ile 1.0 sayıları arasında gelişi güzel sayı üretir.

randn(x,y) ortalaması 0 varyansı 1.0 olan normal dağılımlı gelişigüzel sayı üretir.

Page 33: Matlab'de Temel işlemler, Vektörler, Matrisler

Örnek

>> eye(3,4)

ans =

1 0 0 00 1 0 00 0 1 0

>> diag(2:5,1)

ans =

0 2 0 0 00 0 3 0 00 0 0 4 00 0 0 0 50 0 0 0 0

Page 34: Matlab'de Temel işlemler, Vektörler, Matrisler

Matrislerde aritmetik işlemler

Toplama çıkarma yapılacak matrisler aynı boyutlarda olmalı.

Bir sayı ile bir matris aritmetik bir işleme alınabilir.

Page 35: Matlab'de Temel işlemler, Vektörler, Matrisler

Örnek

>> m1=[1,2;3,4]; m2=[8,9;10,11];>> m1+m2

ans =

9 1113 15

>> m1+20

ans =

21 2223 24

Page 36: Matlab'de Temel işlemler, Vektörler, Matrisler

Çarpma ve üs alma

Birinci matrisin sütun sayısı, ikinci matrisin satır sayısına eşit olmalıdır.

Sadece kare matrislerin üssü alınabilir.

Page 37: Matlab'de Temel işlemler, Vektörler, Matrisler

Örnek

>> m=[1,2,3;4,5,6;7,8,9]; k=[8,9;10,11;12,13];>> m*kans =

64 70154 169244 268

>> m^2

ans =

30 36 4266 81 96102 126 150

Page 38: Matlab'de Temel işlemler, Vektörler, Matrisler

Elemanter çarpma (.*)

İki eşit boyutlu matris eleman elemana çarpılabilir.

>> m1=[1,2;3,4]; m2=[8,9;10,11];>> m1.*m2

ans =

8 1830 44

Page 39: Matlab'de Temel işlemler, Vektörler, Matrisler

Elemanter üs alma (.^)

m =

1 2 34 5 67 8 9

>> m.^2

ans =

1 4 916 25 3649 64 81

Page 40: Matlab'de Temel işlemler, Vektörler, Matrisler

Bölme

(/) matrisin tüm elemanlarını bir sayıya bölmek için kullanılır.

(./) veya (.\) operatörleri aynı boyutlardaki iki matrisi elemanter bölmede kullanılır.

>> m1=[1,2;3,4]; m2=[8,9;10,11];>> m1./m2

ans =

0.1250 0.22220.3000 0.3636

Page 41: Matlab'de Temel işlemler, Vektörler, Matrisler

Yuvarlama ve işaret fonksiyonları

round(m): En yakın tam sayıya yuvarlar.

Sign(m): Sayının işaretini bulur. Pozitif sayılar için 1, negatif sayılar için -1, 0 sayısı için sıfır üretir.

>> m1=[1,2;-3,0]m1 =

1 2-3 0

>> sign(m1)ans =

1 1-1 0

Page 42: Matlab'de Temel işlemler, Vektörler, Matrisler

Matris analizi

inv: Kare matrisin tersini hesaplama

det: Kare matrisin determinantını hesaplama

‘: Matrisin transpozunu hesaplama

rank: Matrisin rankını hesaplama (rank() Matrisin sıfırdan farklı determinanta sahip en büyük kare matris boyutu)

trace: Kare matrisin soldan sağa doğru köşegendeki sayıların toplamı

Page 43: Matlab'de Temel işlemler, Vektörler, Matrisler

Örnek

>> A=[9 -3 3;-3 9 3;3 3 9];>> A'ans =

9 -3 3-3 9 33 3 9

>> det(A)ans =

432

>> inv(A)ans =

0.1667 0.0833 -0.08330.0833 0.1667 -0.0833-0.0833 -0.0833 0.1667

>> rank(A)ans =

3

Page 44: Matlab'de Temel işlemler, Vektörler, Matrisler

Lineer denklem sistemlerinin çözümü

‘\’ operatörü ile lineer denklem sistemi çözülebilir.

9I1-3I2+3I3=15

-3I1+9I2+3I3=0

3I1+3I2+9I3=9

Çevre akımları?

Page 45: Matlab'de Temel işlemler, Vektörler, Matrisler

>> A=[9 -3 3;-3 9 3;3 3 9];u=[15;0;9];

>> I=A\u

I =

1.7500

0.5000

0.2500

Page 46: Matlab'de Temel işlemler, Vektörler, Matrisler

Genel sayısal analiz fonksiyonları

max: Her sütunda en büyük sayıyı bulur, dizi oluşturur.

min: Her sütunda en küçük sayıyı bulur,dizi oluşturur.

mean: Aritmetik ortalamayı hesaplar

median: Geometrik ortalamayı hesaplar

std: Standart sapmayı hesaplar

sum: Tüm sayıları toplar

sort: Sayıları küçükten büyüğe sıralar

diff: Sayıların farkını alır

Page 47: Matlab'de Temel işlemler, Vektörler, Matrisler

Kaynaklar

MATLAB ve Genel Uygulamaları, Ahmet Altıntaş

Ders Notları, Muharrem Tümçakır

Ders Notları, Erdal Bekiroğlu

Ders Notları, Aslan İnan