matlab.uzerine.com


Haber bülteni üyeliği

MATLAB NEDİR?

matlab

 dik

MATLAB®, temel olarak nümerik hesaplama, grafiksel veri gösterimi ve programlamayı içeren teknik ve bilimsel hesaplamalar için yazılmış yüksek performansa sahip bir
yazılımdır. Matlab programının tipik kullanım alanları: Matematik and hesaplama
işlemleri / Algoritma geliştirme / Modelleme, simülasyon (benzetim) ve öntipleme / Veri analizi ve görsel efektlerle destekli gösterim / Bilimsel ve mühendislik grafikleri / Uygulama Geliştirme
şeklinde özetlenebilir.

MATLAB adı, MATrix LABoratory (Matrix Laboratuarı) kelimelerinden gelir. MATLAB, ilk olarak Fortran Linpack ve Eispack projeleriyle geliştirilen ve bu programlara daha etkin ve kolay erişim sağlamak amacıyla 1970'lerin sonlarında yazılmıştır. İlk başlarda bilim
adamlarına problemlerin çözümüne matris temelli teknikleri kullanarak yardımcı olmaktaydı. Bugün ise geliştirilen yerleşik kütüphanesi ve uygulama ve programlama özellikleri ile gerek üniversite ortamlarında (başta matematik ve mühendislik olmak üzere tüm bilim dallarında) gerekse sanayi çevresinde yüksek verimli araştırma, geliştirme ve analiz aracı olarak
yaygın bir kullanım alanı bulmuştur. Ayrıca işaret işleme, kontrol, fuzzy, sinir ağları,
wavelet analiz gibi bir çok alanda ortaya koyduğu Toolbox adı verilen yardımcı alt programlarla da özelleştirilmiş ve kolaylaştırılmış imkanlar sağlamış ve sağlamaya
da devam etmektedir.

Web adresi: "http://www.mathworks.com" Email: info@mathworks.com

Matlab, komut temelli bir programdır. Command Window penceresinde » işareti
Matlab'in komut prompt'unu gösterir ve bu işaret bulunduğu satır komut satırı olarak
adlandırılır. Bu işaretin hemen yanında yanıp sönen I şeklinde ki işaret komut ve
metin yazma cursor'u yani imlecidir. Bu işaretin olduğu yerde klavyeden giriş
yapılabilir demektir. İFADELER (EXPRESSIONS)

Matlab diğer programlama dillerinde olduğu gibi bir giriş (input) olarak çeşitli
matematiksel ve metinsel ifadeler sağlar. İfadeleri 4 ana madde altında inceleyebiliriz:

Sayılar (Numbers)

Değişkenler (Variables)

İşleçler (Operators)

Fonksiyonlar (Functions)

Matlab'de ifadeler genellikle değişken = ifade veya basitce sadece ifade formundadır.

Bir ifade = işareti ile bir değişkene atanmamış ise Matlab otomatik olarak sonucu,
ans adı verilen özel bir değişkende saklar.

» b=4*5

b =

20

» log(2)

ans =

0.6931

Normalde ifadeler, tek bir satırda yer alırlar. Ancak bir kaç ifade aralarına
virgül konarak yazılabilir ve işleme konabilir. Virgülden sonraki boşluk sayısında
bır sınırlama yoktur. Komut veya değişken bildirimli ifadelerde ; noktalı
virgül işaretini de kullanılabilirsiniz.

» x=3.01, y=(23*7)/5, z = 3^6

x =

3.0100

y =

32.2000

z =

729MATLAB TEMEL YAZIM NOTASYONU (SYNTAX)

Matlab'de herşey bir dizi (array) olarak işleme konur. Bir dizi, skaler, vektör,
matris veya metinsel dizge (karakter dizisi) olabilir.

1x1 dizisi skaler (scaler) veya metin dizgesi (string) gösterir. a=3 b=-20.56 c=3e-4 d=2+5*i e='Bir tamsayı giriniz:' gibi. Metin dizgeleri (text string), '...' arasında verilir.

nx1 veya 1xn dizisi bir vektör (vector) gösterir. x=[0, 2, 4, 6] ifadesinde x, 1x4
boyutunda bir vektördür. [ ] köşeli parantezler içindeki sayıların arasında virgül (,)
veya en az bir veya daha fazla boşluk olmalıdır.

nxm veya mxn dizisi bir matris (matrix) gösterir. [ ] köşeli parantezler içindeki sayı
grupları arasında noktalı virgül (;) olmalıdır. ; işareti matrisin sütunlarını ayırır. Sayı gruplarında virgül (,) veya en az bir veya daha fazla boşluk olabilir.MATLAB'DE
KULLANILAN ÖZEL DEĞERLER VE SABİTLER

Değişken Adı Açıklamaans Bir işlemin son cevabı (answer) veya bir ifadenin değeri

pi pi sabiti: p=3.1415926535897...

i veya j imajiner birim, Ö-1

eps (epsilon yani e) Kayan-nokta bağıl doğruluğu (relative precision), 2e-52

realmin En küçük kayan-nokta (floating-point) sayısı, 2e-1022

realmax En büyük kayan-nokta (floating-point) sayısı, (2-e)e1024 yani 2e1024'den
çok az küçük

inf Sonsuz (infinity) yani realmax dan daha büyük bir sayı

NaN Sayı değil (Not-a-Number)KOMUT SATIRINDA KLAVYE KISAYOLLARI

­

Ctrl-P

Bir önceki satırı çağırır (Recall previous line)

¯

Ctrl-N

Bir sonraki satırı çağırır (Recall next line)

¬

Ctrl-B

Imleç bir karakter sola hareket eder (Move back one character)

®

Ctrl-F

Imleç bir karakter sağa hareket eder (Move forward one character)

ctrl-®

Ctrl-R

Bir kelime sağa hareket eder (Move right one word)

ctrl-¬

Ctrl-L

Bir kelime sola hareket eder (Move left one word)

home

Ctrl-A

Satrın basına gider (Move to beginning of line)

end

Ctrl-E

Satrın sonuna gider (Move to end of line)

esc

Ctrl-U

Geçerli satırı iptal eder yani tamamen siler (Clear line)

del

Ctrl-D

Bir karakter sola doğru siler (Delete character at cursor)

backspace

Ctrl-H

Imlecten satırın başına kadar olan kısmı siler (Delete character before cursor)

Ctrl-K

Imlecten satırın sonuna kadar olan kısmı siler (Delete to end of line)

Format Komutu: Matlab, değerlerin sayısal formatını format komutu ile kontrol eder. Bu komut sayıların kaç hane yani kaç ondalıkla veya diğer bir deyişle kaç digit
gösterileceğini belirler. Matlab'de tüm hesaplamalar, double precision da yapılır.Komut Açıklama

format Varsayılan format (format short ile aynıdır)

format short 5 rakamlı sabit nokta skala formatı

format long 15 rakamlı sabit nokta skala formatı

format short e 5 rakamlı kayan nokta formatı

format long e 15 rakamlı kayan nokta formatı

format short g 5 rakamlı en uygun sabit veya kayan nokta formatı

format long g 15 rakamlı en uygun sabit veya kayan nokta formatı

format bank Dolar ve sent için sabit format (İki ondalıklı gösterimler için kullanabilirsiniz)

format rat En küçük tamsayı oranı yaklaşımıyla sayıyı ondalıklı olarak gösterirTRİGONOMETRİK FONKSİYONLAR

 

Trigonometrik

Hiperbolik

Fonksiyon

Adı

Fonksiyon

formatı

Ters Fonksiyon formatı

Fonksiyon

formatı

Ters Fonksiyon formatı

sinus

sin(x)

asin(x)

sinh(x)

asinh(x)

cosinüs

cos(x)

acos(x)

cosh(x)

acosh(x)

tanjant

tan(x)

atan(x)*

tanh(x)

atanh(x)

kotanjant

cot(x)

acot(x)

coth(x)

acoth(x)

sekant

sec(x)

asec(x)

sech(x)

asech(x)

kosekant

csc(x)

acsc(x)

csch(x)

acsch(x)

* atan2(y,x), dördüncü bölge değeridir.

Matlab'de trigonometrik fonksiyonlarda derece yerine radian kullanılır. Bu
nokta çok onemlidir. Kısaca 2p=360o veya p=180o derecedir. Örneğin derece ;
cinsinden sin(30)=0.5 tir. Oysa Matlab bu işlemin sonucunu

» sin(30)

ans =

-0.99

şeklinde verir. Genel kullanım derece cinsinden olduğundan ya radian (pi
değişkenini kullanarak) cinsinden belirtmeniz ya da p/180 ile çarpanız
gereklidir. Programlama bölümünde örneğin direkt girilen sayının derece
olarak algılanıp değerini veren bir fonksiyonda yazılabilir. Örneğimize devam edersek;

» sin(pi/6)

ans =

0.50

Ancak bu yöntemde p yani pi'ye çevirmek (örneğin 6.47 açısı gibi) her zaman
bu kadar olmayacağından

» sin(30*pi/180)

ans =

0.50

komutu yani açıyı parentezler içinde kalmak şartıyla pi/180 ile çarpmak daha pratiktir.
Ör: x=45o için (sin4x)-(2cosx)3 ifadesinin değerini bulunuz.

1. yol:

» x = pi/3;

» sin(4*x)-(2*cos(x))^3

ans =

-2.83

2.yol:

» x = 45;

»sin(4*x*pi/180)-(2*cos(x*pi/180))^3

ans =

-2.83

LOGARITMIK VE ÜSTEL FONKSIYONLAR

Fonksiyon

Adı

Fonksiyon

formatı

10 tabanında logaritma (log10x)

log10(x)

2 tabanında logaritma (log2x)

log2(x)

doğal logaritma (lnx)

log(x)

üstel (ex)

exp(x)

karekök ( Öx )

sqrt(x)

üsalma (xn, n herhangibir sayı)

x^n

1- Matlab'de matematikten bildiğimiz doğal logaritma gösterimi ln olarak değil
doğrudan log olarak gösterilmektedir. Yine bildiğimiz gibi lnx=logex demektir.
Genel yazım formatı bir x değeri için lnx, Matlab'de log(x) şeklindedir.

ln1

» log(1)

ans =

0

ln10

log(10)

ans =

2.3026

ln2

» log(2)

ans =

0.6931

Matlab'de e sabit sayısı yani e=2.71828 veya kısaca e=2.71 sayısı
e olarak tanımlanmamıştır. Bunun yerine bir sonraki konuda göreceğimiz
exp(1) fonksiyonu kullanılabilir. Biliyoruz ki lne=1 dir ve bunu Matlab de sağlayalım:

» exp(1)

ans =

2.71832- Matlab'de matematikten bildiğimiz normal logaritma 10 tabanındadır ve
bir x değeri için genel yazım formatı log10(x) şeklindedir. Ayrıca Matlab, 2
tabanındaki logaritma içinde hazır bir fonksiyon sağlar. Bir x değeri için genel
yazım formatı log2(x) şeklindedir. şeklindedir. Doğal logaritma da olduğu gibi negatif sayıların logaritmaları reel sayı değildir ve sıfır için değeri sonsuzdur. 0 ile
1 arasındaki (0 ve 1 dahil değil) değerleri negatiftir. Şimdi sırasıyla log1, log10,
log100 ve log 1000, sonra log2, log5, log3/5 ve sonra da log0 ve log(-4) değerlerini bulalım.

log1

» log10(1)

ans =

0

log10

» log10(10)

ans =

1

log5

» log10(5)

ans =

0.6990

Not: Bilimsel notasyondan bildiğimiz gibi 1.0966e+003=1.0966.103 demektir.

Şimdi de aşağıdaki üstel yazılımlı ifadelerin değerleri bulalım :

312, (1/2)-4, 201/5, 103/5, 5.62.10-5,

» 3^12, (1/2)^(-4), 20^(1/5), 10^(3/5), 5.62*10^(-5)3- Bu konu başlığı altında çok kullanılan bir diğer fonksiyonumuz karekök alma işlemini gerçekleştiren sqrt
fonksiyonudur. Genel yazım formatı bir x değeri için sqrt(x) şeklindedir. sqrt
fonksiyonunu kullanarak sırasıyla Ö2, Ö23, Ö144, Ö(3+Ö2) işlemlerini yapalım.

» sqrt(2), sqrt(23)

ans =

1.4142

ans =

4.7958KARMASIK (KOMPLEKS) SAYI İSLEMLERI

Bilindiği gibi kompleks sayıların tipik genel formatı a + bi , a+bj veya a + ib ,
a+jb şeklindedir. Matlab dilinde bu notasyon a + bi, a + bj veya a+i*b , a+j*b
şeklinde ifade edilir. Bu gösterim şekli aynı zamanda kartezyen gösterim
olarak da adlandırılır. Sayılarda ı veya j kullanımı arasında fark yoktur her ikisi de
aynı şeyi ifade ederler. Örnek olarak 2-3j karmaşık sayısını ele alalım.

» 2-3j

ans =

2.0000 - 3.0000i

» 2-i3

??? Undefined function or variable 'i3'.

» 2-i*3

ans =

2.0000 - 3.0000i

Temel kompleks sayı işlemleri:abs Mutlak değer (Absolute value)

angle Faz açısı (Phase angle)

conj Kompleks eşlenik (Complex conjugate)

imag Kompleks imajiner kısım (Complex imaginary part)

real Kompleks reel kısım (Complex real part)

x=3+4j sayısı için özetlersek

Komut

Sonuç

real(x)

3

imag(x)

4

abs(x)

Ö(32+42)=5

angle(x)

tan-1(4/3)=0.9273

conj(x)

3-j*4

!abs (absolute) komutu sadece karmaşık sayı işlemlerinde değil diğer tüm mutlak
değer alma ½x½ işlemlerinde kullanılabilir. Fonksiyon adı abs olup genel formatı
bir x değeri için abs(x) şeklindedir. Ör: » abs(sqrt(3)-1) ans = 0.7321

1) x=2(1+4j)

» x=2*(1+4*i)

x =

2.0000 + 8.0000i

2) k=(1.2+2.5i)3

» k=(1.2 + 2.5*i)^3

k =

-20.7720 - 4.8250i

3) a=-2-j ve b=3+Ö2 olmak üzere s1) -5a+b s2) a/b

» a=-2-j;

» b=3+sqrt(2);

» s1=-5*a+b

s1 =

8.4142 + 2.0000i

» s2=a/b

s2 =

-0.4531 - 0.2265i

YUVARLATMA İŞLEMLERİfix : Sıfıra doğru yuvarlatma yapar

floor : -¥ ?a doğru en yakın tamsayıya yuvarlatma yapar

ceil : +¥ ?a doğru en yakın tamsayıya yuvarlatma yapar

round : En yakın tamsayıya yuvarlatma yapar

» fix(-5.1)

ans =

-5

» floor(-5.1)

ans =

-6

» ceil(-5.1)

ans =

-5

» round(-5.1)

ans =

-5

KALAN BULMA İŞLEMLERİMatlab'de bölme işlemi sonucu kalan bulma işlemi iki şekilde yapılır:

mod - Modül (Bölme işleminde işaretli kalan)

rem - Bölme işleminde kalan

rem(x,y), eğer y ~= 0 (y¹0) ise x - y.*fix(x./y) demektir. rem(x,0) değeri NaN'dır.

mod(x,y), eğer y ~= 0 (y¹0) ise x - y.*floor(x./y) demektir. mod(x,0) değeri x'dir.

rem fonksiyonu örnekleri:

mod fonksiyonu örnekleri:

» rem(15,2)

ans =

1

» mod(15,2)

ans =

1

TEMEL İSTATİKSEL İŞLEMLERmax : Verilerin en büyük değerini bulur

min : Verilerin en küçük değerini bulur

length : Veri sayısını bulur

sum : Verilerin toplamını hesaplar

prod : Verilerin çarpımını hesaplar

median : Verilerin ortanca değeri hesaplar

std : Verilerin standart sapmasını hesaplar

mean : Verilerin ortalama değerini hesaplar yani aritmetik ortalama alır

geomean : Verilerin geometrik ortasını hesaplar

harmmean : Verilerin harmonik ortasını hesaplar

sort : Verilerin azalan sırada sıralar

» d=[0.5 1 0.34 2.5 2.5 1.14 3.0 3.4 5 6.5 4.31 5.5] ;

» max(d)

ans =

6.5000

(En büyük değeri bulur)

» min(d)

ans =

0.3400

(En küçük değeri bulur)

» length(d)

ans =

12

(Vektörün boyunu yani veri sayısını bulur)

» sum(d)

ans =

35.6900

(0.5+1.0+0.34+2.5+ ...+4.31+5.5 toplamını bulur)

İstatiksel işlemler matrislerde sütün sütun işlem yapar. A bir matris ise sum(A) A

matrisinin sütularını ayrı ayrı toplar.

Editör Bilgileri

Moderatör

uzerine.com


Editöre Ulaşın

En Son Eklenenler

x-isini-pulsari
yaz-ucgeni
yerel-kabarcik
yildizlar-arasi-yolculuk
zhai-zhigang
avusturya-uzay-ajansi
birlesik-krallik-uzay-ajansi

Uzerine.com Copyright © 2005 Uzerine.com
uzerine.com Ana Sayfa | Gizlilik Sözleşmesi | Üye Girişi