Download - MATLAB; Temel işlemler, Vektörler, Matrisler
MATLAB; Temel işlemler, Vektörler, Matrisler.
DOÇ. DR. ERSAN KABALCI
ESNEK HESAPLAMA YÖNTEMLERİ - I
Gündem
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
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.
Kullanım Alanları
Denklem takımlarının çözümü, doğrusal ve doğrusal olmayan diferansiyel denklemlerinin çözümü, integral hesabı 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ı.
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
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
Matlab açılış ekranı
Workspace (Çalışma alanı)
Current Directory (Geçerli dizin)
Command History (Komut geçmişi)
Bunlar haricinde;
M-doyaları oluşturmak için m-file,
Grafiksel durumları göstermek için figure,
Garphics user interface GUI,
Simulink uygulamaları için model penceresimevcuttur. (bunlar File, New altında görülebilir)
Ç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.
Herhangibir sayı, 1x1’lik matris formatında hafızaya depolanır.
Komut penceresi:
Komut penceresinden girilen tüm değişkenler (m=1.2 k=-2.5 vb) ve özellikleri çalışma alanında görülür.
>> clc ekranı temizler.
>> help komutu ile help topics sıralanır.
örn.:
help graph2d ile özel yardıma ulaşılabilir.
MATLAB’DA TEMEL İŞLEMLER
Kullanılan ifadeler:
Sayılar
Değişkenler
Operatörler
Fonksiyonlar
Örnek:
>> x=4*sqrt(5)
x =
8.9443
x: Değişken
4: Sayı
*: Operatör
sqrt: Fonksiyon
Aritmetik işlemler:
Toplama: +
Çıkarma: -
Çarpma: *
Bölme: /
Aritmetik işlemler soldan sağa doğru yapılmaktadır.
İş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.
Değişken:
Uzun sayı veya ifadelerin kısa bir isimle ifade edilmesini sağlar.
İsimlendirilen değişken veya yapılan işlem sonucu görüntülenmek istenmiyorsa ifade sonuna (;) ilave edilir.
Örnek:
>> x=43.75
x =
43.7500
>> x=43.75;>>
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
Dizi oluşturma2:
Lineer değişen dizi:
linspace(ilkdeğer, sondeğer, terim sayısı)
Örnek:
>> linspace(1,9,5)
ans =
1 3 5 7 9
Dizi oluşturma3:
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
Terim sayısının bulunması:
Çok elemanlı dizilerin eleman sayısı length() ile bulunur.
>> length(ans)
ans =
5
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ı bulurTrigonometrik fonksiyonlar, açıları radyan cinsinden kabul eder.
VEKTÖRLER VE MATRİSLER
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.
Satır vektörü:
>> v=[1 2 3 4 5]
v =
1 2 3 4 5
>> v=[1,2,3,4,5]
v =
1 2 3 4 5
Sütun vektörü:
>> v=[1;2;3;4;5]
v =
12345
Matris:
Matris tanımlanırken, vektör tanımlama yöntemleri kullanı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
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
Matris indisleri:
>> m(:,3)=-5 %3. sütununun tamamına -5 atandı
m =
1 2 -5
4 5 -5
-1 20 -5
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
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.
Ö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
Özel matrisler:
zeros(x,y) x,y boyutnda 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.
Ö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
Matrislerde aritmetik işlemler:
Toplama çıkarma yapılacak matrisler aynı boyutlarda olmalı.
Bir sayı ile bir matris aritmetik bir işleme alınabilir.
Örnek:
>> m1=[1,2;3,4]; m2=[8,9;10,11];>> m1+m2
ans =
9 1113 15
>> m1+20
ans =
21 2223 24
Ç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.
Ö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
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
Elemanter üs alma (.^):
m =
1 2 34 5 67 8 9
>> m.^2
ans =
1 4 916 25 3649 64 81
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
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
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ı
örn:
>> 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
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ı?
>> A=[9 -3 3;-3 9 3;3 3 9];u=[15;0;9];
>> I=A\u
I =
1.7500
0.5000
0.2500
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
Kaynaklar
MATLAB ve Genel Uygulamaları, Ahmet Altıntaş
internet
Ders Notları, Muharrem Tümçakır
Ders Notları, Erdal Bekiroğlu
Ders Notları, Aslan İnan