Ana səhifə

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


Yüklə 485 Kb.
səhifə1/5
tarix26.06.2016
ölçüsü485 Kb.
  1   2   3   4   5
MATLAB NEDİR?

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.

» 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 =


729
MATLAB 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çıklama

ans Bir işlemin son cevabı (answer) veya bir ifadenin değeri

pi pi sabiti: =3.1415926535897...

i veya j imajiner birim, -1

eps (epsilon yani ) 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-)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österir
TRİ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 2=360o veya =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 /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  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.7183


2- 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.7958
KARMASIK (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 İŞLEMLER

max : 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)


  1   2   3   4   5


Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©atelim.com 2016
rəhbərliyinə müraciət