View
231
Download
0
Category
Preview:
Citation preview
MATLABA GİRİŞ
Page 1
1. MATLAB
MATLAB adı, MATrix LABoratory (Matrix Laboratuarı) kelimelerinden gelir.
Matlab, komut temelli bir programdır. Command Window penceresinde » işareti Matlab'ın 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)
Matlabda 3 çeşit pencere vardır. Komut, Grafik ve Program editörü pencereleridir.Masaüstündeki matlab
simgesinden yada başlat menüsünden matlab simgesine tıkladıktan sonra karşımıza şöyle bir ekran
geliyor. Bu ekran Komut penceresidir.
Komut penceresi
MATLABA GİRİŞ
Page 3
Ekranda “To get started, select MATLAB Help or Demos from the Help menu.” Yazıyor. Hemen altında >>
diye bir simge var. Kodlarımızı oraya yazıyoruz. Matlab da işleyip bize çıktısını veriyor
Yada help yazarsam
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)
MATLABA GİRİŞ
Page 4
2. MATLAB DA İFADELER NASIL GİRİLİR
Matlab'de ifadeler genellikle değişken = ifade veya basitce sadece ifade ormundadı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 =
729
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
MATLABA GİRİŞ
Page 5
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.
Örnek:
1 2 1 2 3
1 2 3 0 1 1 3 2
5 1, 2, 3, 4 0 2 3 2 1 1 4 4
0 1 1 3 0 1 1 5
6 1 1 2 6
a v e c
>> a=5;
>> v=1 2 3 4;
>> v=1:5; % v={1’den 5’e kadar olan sayılardan oluşan vektör}
>> e=1 2 3 ; 0 2 3 ; 0 1 1 ;
>> c=[1,2,1,2,3 ; 0,1,1,3,2 ; 2,1,1,4,4 ; 3,0,1,1,5 ; 6,1,1,2,6];
MATLABA GİRİŞ
Page 6
3. MATLAB’DAKİ BAZI İŞLEMLER
+ Toplama ' Transpoze
- Çıkarma det Matrisin determinantı
* Matris çarpması inv Matrisin tersi
* Vektör çarpması sin Sinüs
Matris üssü cos Kosunüs
.^ Vektör üssü exp Eksponensiyel fonksiyon
./ Vektör bölmesi log Doğal logaritma
% Yorum yada bilgiler sqrt Karkök
abs mutlak değer alma sum(A) Matrisin sütunlarını toplar
Özel Matrisler>> zeros(4) % 4x4 bütün elemanları sıfır olan matris oluşturur.
ans =
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
>> zeros(3,2) % 3 sütun ve 2 satırlık bütün elemanları sıfır olan matris oluşturur.
ans =
0 0
0 0
0 0
>> ones(4) % 4x4 bütün elemanları 1 olan matris oluşturur.
ans =
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
MATLABA GİRİŞ
Page 7
Örnek:
>> v=1 2 3 4;
>> V2=v.^2
V2 =
1 4 9 16
>> e'
ans =
1 0 0
2 2 1
3 3 1
>> det(e)
ans =
-1
» inv(c)
ans =
-0.3000 0.5000 -0.4000 -0.3000 0.5000
0.7000 -0.5000 0.1000 -0.3000 -0.0000
-0.9000 3.5000 -2.7000 0.1000 1.0000
-0.2000 -0.0000 0.4000 -0.2000 -0.0000
0.4000 -1.0000 0.7000 0.4000 -0.5000
MATLABA GİRİŞ
Page 8
4. MATLAB’DE KULLANILAN ÖZEL DEĞERLER VE SABİTLERDeğişken Adı Açıklama ans Bir işlemin son cevabı (answer) veya bir ifadenin değeri
pi pi sabiti: p=3.1415926535897...
i veya j imajiner birim
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)
5. TRİGONOMETRİK FONSİYONLAR
Trigonometrik Hiperbolik
Fonksiyon Adı Fonksiyon formatı Fonksiyon formatı
sinus sin(x) sinh(x)
cosinüs cos(x) cosh(x)
tanjant tan(x) tanh(x)
kotanjant cot(x) coth(x)
sekant sec(x) sech(x)
MATLABA GİRİŞ
Page 9
kosekant csc(x) csch(x)
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.
MATLABA GİRİŞ
Page 10
Örnek : 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
Örnek: y=sin(t)*cos(t), -2 < t < 2 fonksiyonunu Matlabda yazalım.
>> t=-2*pi:pi/100:2*pi;
>> y=sin(t).*cos(t);
MATLABA GİRİŞ
Page 11
6. LOGARİTMİK VE ÜSTEL FONLSİYONLAR
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
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
MATLABA GİRİŞ
Page 12
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 ile1
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
Şimdi de aşağıdaki üstel yazılımlı ifadelerin değerleri bulalım :
» 3^12, (1/2)^(-4), 20^(1/5), 10^(3/5), 5.62*10^(-5)3
MATLABA GİRİŞ
Page 13
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(2), sqrt(23)
ans =
1.4142
ans =
4.7958
7. GRAFİK ÇİZME
Matlabda, grafik çizmek için kullanılan komut plot dur.
Örnek:
y t cos( )2 and z t (cos( ))2 3 fonksiyonunu Matlabda çizmek istersek -2<t<2 için,
>>t=-2*pi:pi/100:2*pi;
>>y=cos(2*t);
>>plot(t,y)
>>z=y.^3;
>>plot(t,z)
y ve z fonksiyonlarını ayni grafik üzerine çizmek istersek eğer,
>> plot(t,y,’r’,t,z,’g’); komutu kullanılır. y fonksiyonunun grafiği kırmızı ve z fonksiyonunun grafiği yeşil
renktir.
Grafik üzerinde akseslerin isimlerini ve grafiğin ismini yazmak için, aşağıdaki komut kullanılır. Eğer x-
aksesin ismi “zaman”, y-aksesin ismi “sonuç” ve grafiğin ismi de “fatoş” olursa,
>> xlabel(‘zaman’);
>> ylabel(‘sonuç’);
>> title(‘fatos’);
MATLABA GİRİŞ
Page 14
Örnek:
Aşağıdaki iki fonksiyonun grafiğini ayni grafik penceresinde çiziniz.
y1=sin(t), y2=cos(t), t=-2,2
>> t=-2*pi:0.01:2*pi;
>> y1=sin(t); y2=cos(t);
>> plot(t,y1,’r’, t,y2,’b’);
8. PROGRAM EDİTÖRÜProgram yazabilmek için öncelikle File menüsünden edit file seçmek gerekir. Programı kaydetmek için
mutlaka programın ismi ile ayni olmasına dikkat edilmelidir.
Örnek: Bir M-file oluşturalım ve içerisine aşağıdaki bilgileri yazalım,,
toplama.M
% TOPLAMA
function toplama(a),
toplam=0;
for i=1:a,
toplam=toplam+i;
end
disp(['BU SAYILARIN TOPLAMI =', num2str(toplam)]);
% disp anlamı ekrana yansıtmadır.
>> toplama(4)
MATLABA GİRİŞ
Page 15
9. EV ÖDEVLERİ:
(Gelen haftaya bu ödevlerin çıktısı teslim edilmelidir)
1.) Aşağıdaki fonksiyonların grafiklerini ayni grafik penceresinde çiziniz ve grafiğin ismi kendi isminiz, x-
akses “zaman” ve y-akses de “sonuç” şeklide yazınız.
y1(t)=cos(t)+sin(3t), y2(t)=2.5sin(t/2), t { -2, 2 }
x1=cos(3*t), x2=0.5*sin(t/3), t { -3, 3 }
2.) Let
1 0 9 21 2 3 1 0 -1 3
1 2 5 0 1 2 4 , 0 0 1 , and 0 -1 2 1
2 1 1 1 0 5 11 2 1 0 1 1 2
0 0 0 1
A B C D
Aşağıdakilerini bulunuz.
A ve B’ nin determinantları.
TAD
A’nın tersi.
3.) n kadar sayının çarpımlarının( !n ) program editörünü yazınız ve programın ismini çarpma(n) diye
yazınız.
Recommended