Blogda Aramak İçin TIKLAYINIZ

Ona kısaca MATLAB diyorlar













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

*
Academics Art History  Blogs - BlogCatalog Blog DirectoryAcademics Blogs - Blog Top Sites