MATLAB nedir? Ne ise yarar?
MATLAB, teknik hesaplamalar ve matematiksel problemlerin çözümü ve analizi için
tasarlanmis bir yazilim gelistirme aracidir. “MATrix LABoratoty” kelimesinin
kisaltmasi olan MATLAB, adinda da anlasilacagi üzere matrisler (matrix ) yani diger
bir deyisle diziler (array ) ile çalisir. Özellikle mühendislik alanindaki
sistemlerin analizinde kullanilan MATLAB, görüntü isleme (image processing ), yapay
sinir aglari (artificial neural networks ), sayisal isaret isleme (signal
processing ), optimizasyon (optimization ), veri elde etme (data acquisation ),
veritabani (database ), süzgeç tasarimi (fitler design ), bulanik mantik (fuzzy
logic ), sistem kimliklendirme (system identification ), dalgaciklar (wavelets ) gibi
araçlari ile sizler için mükemmel bir ortam sunar.
MATLAB’in nasil bir yazilim oldugunu anlamak için onu çok gelismis özellikleri olan,
programlanabilen bir bilimsel hesap makinesine benzetebiliriz. MATLAB’de yazilan
programlar, MATLAB’in kendine özgü dili kullanilarak yazilir ve MATLAB içinden
çalistirilir. Ayrica yazdiginiz programlari DLL ve EXE olarak olusturabildiginiz
gibi C/C++ kodlarina da çevirebilirsiniz.
Problemlerinizi MATLAB’de komut satirinda çalisan programlar yazarak çözebildiginiz
gibi MATLAB GUI gelistirme aracini kullanarak, formlar ve butonlar gibi nesnelerden
olusan görsel yazilimlar gelistirebilirsiniz.
MATLAB’in su an için Windows ve Linux ortamlarinda çalisan versiyonlari mevcuttur.
Bugün için gelistirilen en son sürüm Realease 13 - Version 6.5 dir. (Agustos 2003 )
MATLAB ile ;
Veri elde etme
Veri analizi ve inceleme
Görsellik ve görüntü isleme
Algoritma prototipi olusturma ve gelistirme
Modelleme ve simülasyon
Programlama ve uygulama gelistirme yapabiliriz.
Bugün 500.000 den fazla akademisyen, arastirmaci, bilim adami ve ögrenci tarafindan
kullanilan MATLAB, içinde gömülü pek çok ara yüzü ile bilgisayar dünyasinin en
gelismis teknik ve bilimsel problem çözme ve uygulama gelistirme aracidir.
Daha fazla bilgi için http://www.mathworks.com adresine bakabilirsiniz.
MATLAB ile çalismak
MATLAB ortaminda tüm veriler matrisler seklinde tanimlanmistir. a=3.4 yazip
tusuna bastigimizda, bellekte 1x1 tipinde gerçek sayi veri tipinde bir degisken
tanimlamis oluruz.
Dizi olusturmak için kullanisli bir operatör olan :’yi kullanabilirsiniz. Örnegin,
MATLAB konsolunda, b=1:10 yazip tusuna bastigimizda 1x10 tipinde, elemanlari
1’den baslayip, birer artarak 10’a kadar olan bir dizi olusturmus ve bunu b
degiskenine atamis olursunuz.
Artirma miktarini da kendiniz ayarlamaniz mümkün. Örnegin c=0:0.1:10 yazip
tusuna bastigimizda 0’dan baslayip, 0.1 degerlerle artan ve 100’e kadar devam eden
1x101 tipinde bir vektör (tek bir satirdan veya sütundan olusan matris ) tanimlamis
oluruz.
Dizileri adreslemek yani dizinin içindeki bir veriye erismek için indisler
kullaniriz. Örnegin c(3 ) yazip tusuna bastigimizda c dizisinin 3. elemanina
ulasiriz.
Iki boyutlu dizi tanimlama için : operatörünün yaninda, satir operatörü olan ;’i
kullanabiliriz. ; operatörü, sütunun bittigini ve yeni bir satira geçilecegini
bildirir. Örnegin, d=[1:3;4:6;7:9] yazip tusuna bastigimizda 3x3 tipinde bir
matris olusturmus oluruz.
>> d=[1:3;4:6;7:9]
d =
1 2 3
4 5 6
7 8 9
>>
Iki boyutlu dizileri adreslemek için degisken_ismi(satir,sütun ) seklinde indisleri
belirtiriz. Örnegin yukarida tanimladigimiz d dizisi için d(2,3 ) komutu 6 degerini
verecektir. MATLAB’de dizilerin satir ve sütun indisleri 1’den baslar. Diger bazi
programlama dillerinde matris indisleri 0’dan baslar. MATLAB’de uygulama
gelistirirken buna dikkat etmek gerekir.
Dizilerin tek bir elemanina degil de belirli bir kismina erismek için :
operatöründen faydalanilir. Örnegin e=rand(5 ) yazip tusuna bastigimizda, 5x5
tipinde, degerleri 0 ve 1 arasinda degisen, rasgele degerlere sahip bir dizi
tanimlamis oluruz.
>> e=rand(5 )
e =
0.2028 0.0153 0.4186 0.8381 0.5028
0.1987 0.7468 0.8462 0.0196 0.7095
0.6038 0.4451 0.5252 0.6813 0.4289
0.2722 0.9318 0.2026 0.3795 0.3046
0.1988 0.4660 0.6721 0.8318 0.1897
>>
Bu 5x5’lik dizinin ortada kalan 3x3’lük kesimine ulasmak için e(2:4,2:4 ) yazip
tusuna basarsak su sekilde bir çikti elde ederiz.
>> e(2:4,2:4 )
ans =
0.7468 0.8462 0.0196
0.4451 0.5252 0.6813
0.9318 0.2026 0.3795
>>
Veya e(1,1:4 ) komutu, e dizisinin 1. satirinin ilk dört elemanini verecektir. Ya da
e(3:5,2 ) komutu, e dizisinin 2. sütunun son üç elemanini verecektir.
Dizinin belirli bir satirinin veya sütununun tümüne erismek için : operatöründen
faydalanilir. Örnegin e(1,: ) komutu, e dizisinin 1.satirini verecektir. Veya e(:,3 )
komutu, e dizisinin 3. sütununu verecektir.
Dizi adresleme, belirtilen indis(ler )deki degerlere ulasmak veya onlari degistirmek
için kullanilir.
MxN tipinde bir matrisi vektör haline çevirmek için degisken_ismi(: ) komutu
kullanilabilir. Yeni olusan matris M*Nx1 tipindedir.
Lineer cebir’de satirlarin sütun haline çevrilme islemine “matrisin transpoze”si
denir. MATLAB’de bir dizinin transpozesini bulmak için ‘ operatöründen faydalanilir.
Örnegin d=[1:3;4:6;7:9] seklinde tanimlanan d dizinsinin transpozesi d’ komutu ile
elde edilir.
>> d=[1:3;4:6;7:9]
d =
1 2 3
4 5 6
7 8 9
>> d'
ans =
1 4 7
2 5 8
3 6 9
>> d(: )
ans =
1
4
7
2
5
8
3
6
9
>> d(: )'
ans =
1 4 7 2 5 8 3 6 9
>>
Üç boyutlu dizileri indislemek için degisken_ismi(x,y,z ) komutu kullanilabilir.
MATLAB ile yazilim gelistirmek
MATLAB’de gelistirdigimiz yazilimlar yordam (procedure ) veya fonksiyon (function )
seklindedir. Konsolda edit yazip tusuna bastigimizda MATLAB editörü
açilacaktir.
Prosedürler
Düz yazi seklinde yazilan komutlardir. Arka arkaya çalistirmak istenilen komutlar
yazilir. File->Save (Ctrl+S ) komutu ile yazdigimiz programi diske kaydetebiliriz.
MATLAB’de yordamlar ve fonksiyonlar M-dosyalari (M-files ) olarak adlandirilir ve .m
uzantisini alir.
Örnegin asagidaki komutlar editörde yazilip hesapla.m ismi ile diske kaydedilirse,
MATLAB içinden bu dosyayi çalistirmak için hesapla yazip tusuna basmak
yeterli olacaktir.
hesapla.m
ort=sum(sum(a ) );
hiz=x/t;
sonuc=ort*hiz;
Yalniz burada dikkat edilmesi gereken nokta, MATLAB içinden bu dosya çalistirilmak
istendiginde, dosyanin çalisma dizininde (work directory ) olmasi gerekir. Çalisma
dizinini görüntülemek için cd komutu kullanilir.
>> cd
C:\matlabR12\work
>>
Çalisma dizinini degistirmek için de cd komutundan faydalanilir. Örnegin;
>> cd c:\calismadizinim
Ayrica dikkat edilmesi gereken bir diger nokta da, M-dosyasi çalisirken bazi
degiskenlere basvuruyorsa bunlarin daha önceden tanimlanmis ve degerleri atanmis
olmasi gerekir. Yukaridaki örnekte ort=sum(sum(a ) ) satirinda a isminde bir
matrisisin toplami hesaplanip ort degiskenine atanmaktadir. Ancak program
çalistirilmak istendiginde eger a dizisi yoksa, M-dosyasi hata verecektir.
Yukaridaki M-dosyasi çalisabilmek için, x ve t degiskenlerine de ihtiyaç
duymaktadir.
M-dosyasi çalistirildiktan sonra, M-dosyasi içinde tanimlanan degiskenler MATLAB
çalisma ortaminda (workspace ) kullanilmaya baslanir.
O an için tanimlanmis degiskenleri görmek için whos komutu kullanilabilir. Her hangi
bir degiskeni silmek için clear degisken_ismi seklinde clear komutu kullanilir.
MATLAB ortamindaki tüm degiskenleri silmek için clear komutu tek basina
kullanilabilir.
>> hesapla
>> whos
Name Size Bytes Class
a 5x5 200 double array
ans 0x0 0 char array
b 1x1 8 double array
c 1x101 808 double array
d 3x3 72 double array
e 5x5 200 double array
hiz 1x1 8 double array
ort 1x1 8 double array
sonuc 1x1 8 double array
t 1x1 8 double array
x 1x1 8 double array
Grand total is 166 elements using 1328 bytes
>>
Fonksiyonlar
Diger programlama dillerinde oldugu gibi MATLAB’de de fonksiyon tanimlamak
mümkündür. Fonksiyonlar içine deger alabilen ve bir sonuç döndüren program
parçalaridir.
Örnegin MATLAB editöründe,
function donendeger=toplakare(x,y )
%Bu fonksiyon x ve y nin toplaminin karesini hesaplar
%Kullanim : toplakare(3,5 ) seklindedir.
toplam=x+y;
donendeger=toplam^2;
seklinde bir fonksiyon yazip, toplakare.m dosyasi seklinde kaydetelim. Fonksiyondaki
ilk satir, fonksiyonun isminin toplakare oldugunu, donendeger degiskeni ile sonucun
kullaniciya aktarilacagi, x ve y olarak iki degiskeni disardan aldigini belirtir.
Ikinci ve üçüncü satirlar yorum satirlaridir. Derleyici tarafindan icra edilmezler.
Fonksiyonlarda ilk satirdan sonra kullanilan yorum satirlari, yazilan m-dosyasinin
yardim metnini olusturur. Konsolda help toplakare yazip tusuna basarsak,
yukarda % isareti ile baslayan iki satir görüntülenecektir. En son satirda
donendeger degiskenine hesaplanan ifade atanir ve bu sekilde kullaniciya sonuç
yollanmis olur.
MATLAB’de a=toplakare(3,5 ) yazarak, a degiskenine fonksiyondan dönen 64 degerini
atamis oluruz.
Temel Matematiksel Operatörler
MATLAB’da diziler arasi matematiksel operatörler asagidaki gibidir. Ancak dikkat
edilmesi gereken bazi noktalar vardir. Örnegin iki matris toplanacagi zaman,
matrislerin ayni boyutlarda olmasi gerektigidir. 3x3 tipindeki bir matris ile 2x2
tipindeki bir matris toplanamaz. Ancak 1x1 tipindeki skaler degerlerde bu problem
yoktur. Örnegin 5x5 tipindeki bir matrisin tüm elemanlarina 2 eklemek için a+2
seklinde bir komut kullanilabilir.
Toplama
a+b
Çikarma
a-b
Çarpma
a*b
Bölme
a/b
Üs alma
a^b
Karsilastirma Operatörleri
<
Küçük
Büyük
>=
Büyük esit
==
Esit
~=
Esit degil
Mantiksal Operatörler
And
&
Ve
Or
|
Veya
Not
~
Degil
Sartli Deyimler ve Döngüler
Program içinde bir degiskenin içerigine bagli olarak program akisi degistirilmek
isteniyorsa sartli deyimler kullanilabilir. En çok kullanilan sartli deyim
if-else-end komutudur. Örnegin;
if a>5
disp('a besten büyüktür' );
x=1;
else
disp('a besten kücüktür' );
x=0;
end
seklinde bir M-dosyasi olsun. Eger a degiskenin degeri 5 den büyükse, konsola 'a
besten büyüktür' ifadesi yazdirilacak ve x degiskenine 1 degeri atanacaktir. Eger
a, 5’ten küçük veya esitse konsola 'a besten kücüktür' ifadesi yazdirilacak ve x
degiskenine 0 degeri atanacaktir.
En çok kullanilan bir döngü çesidi olan for döngüsü asagidaki gibi tanimlanir.
top=0;
for i=1:100
top=top+i;
end
1’den 100’e kadar olan sayilarin toplamini bulan bu döngüde i döngü indeksidir.
1:100 ifadesi ile 1’den baslayip 100’e kadar, döngünün birer artmasi saglanmistir.
Bir diger döngü tanimlamasi while komutu ile yapilabilir. Yukaridaki örnegi while
komutu ile su sekilde yapabiliriz.
top=0;
i=0;
while i> t=-pi:0.1[img]images/smilies/crazy.gif[/img]i;
>> y=sin(t );
>> plot(y )
komutlarini yazarak -3.14 den +3.14’e kadar 0.1 araliklarla artan bir vektör
tanimlayalim. Sin fonksiyonu ile bu vektörün tüm degerlerinin sinüslerini
hesaplayarak plot komutu ile ekrana çizdirelim. (pi ön tanimli bir degisken olup
degerini atamaniza gerek yoktur )
Iki vektörü ayni pencere içinde üst üste görüntülemek istersek 1xN vektörleri Nx1
tipine çevirmek ve bunlari yan yana sütün seklinde yerlestirmek gerekir. Örnegin
yukardaki örnekte t ve y’yi ayni anda görmek için plot([t' y'] ) komutu
kullanilmalidir.
Plot komutu ile ilgili daha fazla bilgi elde etmek için MATLAB konsolda help plot
yazabilirsiniz.
MATLAB’de MxN tipindeki matrislerin 3 boyutlu topografik grafiklerini incelemek için
surf veya mesh komutlari kullanilir.
>> a=randn(20 );
>> surf(a );
Yukaridaki komutlar ile 20x20 tipinde, elemanlari 0-1 arasinda rasgele deger alan
bir verinin 3boyutlu grafigi çizdirilmistir.
Bazi Temel Fonksiyonlar ve Komutlar
MATLAB’de kullanilan bazi temel fonksiyonlar ve açiklamalari verilmistir.
Clear
Workspace’deki degiskenleri siler
Whos
Workspace’deki degiskenleri listeler
Clc
Ekrani temizler
Disp
Ekrana mesaj yazdirir
Sum
Matris elemanlari toplami
Mean
Matris elemanlari ortalamasi
Max
Matris elemanlarinin en büyük degerli olani
Min
Matris elemanlarinin en küçük degerli olani
Size
Matrisin boyutlari
Sqrt
Karekök alma
Cos
Kosinüs Fonksiyonu
Sin
Sinüs Fonksiyonu
Tan
Tanjant Fonksiyonu
Exp
Eksponansiyel (e )
Log
Dogal algoritma (ln )
Log10
10 tabaninda logaritma
Abs
Mutlak deger
Round
Yuvarlama
Floor
Tam deger
Load
Workspace’e diskten veri yükleme
Save
Workspace’deki veriyi diske kaydetme
Strcat
String’leri birlestirme
Break
Döngüden çikma
Rand
0-1 arasinda rasgele sayi üretme
Edit
MATLAB Editörü
Plot
2boyutlu grafik çizme
Sonuç
Yukarda anlatilan bilgiler isiginda, MATLAB ile neler yapabileceginiz konusunda bir
miktar fikriniz oldu. Temel matris islemlerini ve MATLAB dilinin sözdizimini de
ögrenmis oldunuz. MATLAB’in içindeki pek çok yazilim araci ile (toolbox ) özel
uygulamalariniz için hazir yazilmis onlarca fonksiyon bulabilirsiniz. Ayrica pek çok
mühendislik problemlerinin çözümünde MATLAB’in avantajlarini kullanabilirsiniz
MATLAB v7 0 (no CD - Key required)
CD 1:
http://rapidshare.com/files/67135736..._CD1.part1.rar
http://rapidshare.com/files/67127193..._CD1.part2.rar
http://rapidshare.com/files/67084545..._CD1.part3.rar
http://rapidshare.com/files/67094237..._CD1.part4.rar
http://rapidshare.com/files/67127051..._CD1.part5.rar
http://rapidshare.com/files/67109048..._CD1.part6.rar
http://rapidshare.com/files/67114261..._CD1.part7.rar
CD 2:
http://rapidshare.com/files/67024491..._CD2.part1.rar
http://rapidshare.com/files/67077264..._CD2.part2.rar
http://rapidshare.com/files/67079292..._CD2.part3.rar
http://rapidshare.com/files/67076104..._CD2.part4.rar
Alternatif:
Matlab 7.1.4
http://depositfiles.com/files/6060407
http://depositfiles.com/files/6060436
http://depositfiles.com/files/6060469
http://depositfiles.com/files/6060516
http://depositfiles.com/files/6060540
http://depositfiles.com/files/6060591
http://depositfiles.com/files/6060898
http://depositfiles.com/files/6061684
http://depositfiles.com/files/6064588
http://depositfiles.com/files/6064750
http://depositfiles.com/files/6064780
http://depositfiles.com/files/6064804
http://depositfiles.com/files/6065038
http://depositfiles.com/files/6065185
http://depositfiles.com/files/6065200
http://depositfiles.com/files/6065419
Linkler yenilendi.-ŞeboisT
Blogda Aramak İçin TIKLAYINIZ
|
|
Ona kısaca MATLAB diyorlar
*
Bu yazı tarih olarak: Pazar, Mayıs 24, 2009
eklenmiştir.Kategorisi
Matetematik Dersi Konu Anlatımları
.
Bu yazıya yapılacak yorumlardan haberdar olmak için feed. Bu yazıya yorum yazabilirsiniz.
Kapsamlı ve ayrıntılı dokümanlar için TIKLAYINIZ