2. MATLAB® (MATRİX LABORATORY) SAYISAL HESAPLAMA DİLİDİR.
MATHWORKS FİRMASI TARAFINDAN GELİŞTİRİLMİŞ OLUP, MATRİS
İŞLENMESİNE, FONKSİYONLAR VE VERİ ÇİZİLMESİNE, ALGORİTMALAR
UYGULANMASINA, KULLANICI ARAYÜZÜ OLUŞTURULMASINA VE DİĞER
DİLLERLE YAZILMIŞ PROGRAMLAR İLE ETKİLEŞİM OLUŞTURULMASINA İZİN
VERMEKTEDİR.
(MATLAB’ DE YAZILAN BİR PROGRAM C, C++, JAVA, VE FORTRAN
DİLLERİNİ ÇEVRİLEBİLMEKTEDİR.
3. 1970’lerin sonunda Cleve Moler tarafından yazılan Matlab programının
tipik kullanım alanları:
Matematiksel (nümerik ve sembolik) hesaplama işlemleri
Algoritma geliştirme ve kod yazma yani programlama
Lineer cebir,istatistik,Fourier analizi, filtreleme, optimizasyon, sayısal
integrasyon vb. konularda matematik fonksiyonlar
2D ve 3D grafiklerinin çizimi
Modelleme ve simülasyon (benzetim)
Grafiksel arayüz oluşturma
Veri analizi ve kontrolü
Gerçek dünya şartlarında uygulama geliştirme şeklinde
özetlenebilir.
4. http://www.mathworks.com/matlabcentral/
MATLAB, yüksek performanslı bir uygulama yazılımı ve bir programlama
dilidir.
MATLAB’in temelindeki yapı, boyutlandırma gerektirmeyen matrislerdir.
Yaptığımız tüm girdi ve çıktılar, belirteç gerektirmeksizin bir matris
tanımlar.
İlk olarak Fortran dili ile yazılan MATLAB, daha sonra C ile yazılmıştır.
5. Matlab’de hazır programlar vardır. Bu programlara
fonksiyon adı verilir.
Matlab fonksiyonlarının kullanımı, matematikteki y=f(x)
fonksiyonunun kullanımıyla özdeştir.
Örneğin, a=sin(x) fonksiyonunda, sin fonksiyonu, x
açısının (input- girdi) değerini hesaplar; kullanıcı bu
değeri, örneğin, bir a değişkenine atar. a değeri sin
fonksiyonunun bir çıktısıdır (output).
6. MATLAB/Command window (komut penceresi)
Current directory
(çalışma klasörü)
Dinamik komut satırı
Her türlü mat. işlem,
Demo, program
çalıştırma vb.
M-file editörü
Programların yazıldığı
editör
7. MATLAB/Workspace (İş alanı)
Workspace penceresi
Atanan
değişken Workspace penceresini
açmanın “komut” yolu
7
Workspace, ilgili oturumda
kullanılan tüm değişkenlerin
tutulduğu alandır.
8. MATLAB KULLANIMINDA TEMEL KURALLAR:
PROGRAMIN DİLİ VE YARDIM BİLGİLERİ TAMAMEN İNGİLİZCEDİR.
KOMUT TEMELLİ yazılımdır.
KÜÇÜK-BÜYÜK HARF AYRIMI VARDIR. ToT VE TOT FARKLI ALGILANIR.
» İŞARETİ KOMUT PROMPT’UDUR.
KOMUTLAR ENTER İLE YÜRÜTÜLÜR.
9. clc VE clear KOMUTLARI
Lütfen Aşağıdaki Komutları Komut Penceresinden
Çalıştırın:
>>help clc
>>help clear
>>help abs
>>help sqrt
Daha detaylı yardım için (komutun kullanımına ait örnekleri de görmek için) doc
komutundan faydalanabilirsiniz.
>>doc sqrt
clc komutu komut penceresini temizler.
clear komutu bütün değişkenleri ve fonksiyonları bellekten siler. (Bütün değişkenleri çalışma
alanından (workspace) çıkarır.)
10. MATLAB’DE DEYİMLER(ifadeler) VE
BİLEŞENLERİ
MATLAB komut penceresinden doğrudan çalıştırılabilen ya da bir MATLAB dosyası içerisine kaydedilebilen ve
MATLAB tarafından yorumlanabilen her şey MATLAB deyimidir. MATLAB deyimleri değişkenler, rakamlar,
operatörler ve fonksiyonlarkullanılarakoluşturulurlar.
Değişkenler: Deyimler içerisinde sayısal değerlerin yerini alan ifadelerdir. MATLAB bir değişken ile karşı
karşıya geldiğinde, otomatik olarak bu değişken oluşturulur ve yeteri kadar bellek ayrılır. Eğer değişken daha
önceden tanımlı ise MATLAB onun içeriğini değiştirir ve gerekirse yeni bellekayırır.
Örneğin, >> x=50
komut satırından işletildiğinde MATLAB “x” adında bir değişken oluşturur ve 50 değerini bu değişkene atar.
Diğer bilgisayar dillerinde olduğu gibi MATLAB’in de değişken isimleri konusundabazı kuralları vardır.
11. İFADELER : Matematiksel ve metinsel gösterimler ile işlemler ifadelerle sağlanır.
– Sayılar (Numbers)
– Değişkenler (Variables)
– İşleçler (Operators)
– Fonksiyonlar (Functions)
Matlab’de ifadeler genellikle değişken = ifade veya sadece ifade formundadır.
Örnek olarak
>> x=4*sqrt(5)
x =
8.9443
ifadesinde x değişken , 4 sayı , * işleç , sqrt fonksiyondur.
Bir ifade = işareti ile bir değişkene atanmamış ise Matlab otomatik olarak sonucu,
ans (answer) adı verilen özel bir değişkende saklar.
12. Bir ifadenin sonuna ; işareti eklediğinizde ekrana yazılmaz.
Birden fazla ifade tek satırda aralarına , ya da ; koyarak yazılabilir.
Yazımda boşluk sayısı etkisizdir.
Sadece ilgili değişken adını yazarak o değişkeni çağırabilirsiniz.
13. Değişken Tanımlama Kuralları
1. Değişken isimleri daima bir harf ile başlamalıdır. İlk harfi başka harfler, rakamlar ve alt çizgiler ( _ )
izleyebilir. Örneğin 1sayi uygun bir değişken ismi değilken, sayi_1 kullanılabilir bir değişken adıdır.
2. Değişken isimleri noktalama işaretleri ve boşluk(lar) barındırmamalıdır. sayi.1 veya sayi 2 (2 den önceki
boşluğa dikkat) şeklinde tanımlanan değişken adları bu kural ihlaline2 güzel örnektir.
14. 3. Değişken isimleri içerisinde Türkçemize özgü küçük veya büyük “ç, ğ, ı, ö, ş, ü” karakterleri
kullanılmamalıdır.
4. Değişken isimlerinin küçük ve büyük harf kullanımına duyarlı olduğu unutulmamalıdır. orta, Orta, ORTA
veya orTa adlı değişkenler MATLAB için farklı değişkenlerdir.
5. Değişken isimleri en fazla 63 karakter içerebilir ve bundan fazlası MATLAB tarafından dikkate alınmaz.
Değişken Tanımlama Kuralları
15. Komut Penceresi: MATLAB ile iletişim kurulan ana penceredir. MATLAB yorumlayıcısı, kullanıcıdan gelecek
komutları kabul etmeye hazır olduğunu gösteren “ >> ” biçiminde bir simge görüntüler. Örneğin,
4*25+6*52+2*99gibi basit bir matematiksel işlemi yapmak için
>> 4*25+6*52+2*99 ifadesini yazıp ENTER tuşuna basarız.
ans=
610
MATLAB Programlama Ortamının Tanıtımı
Komut Satırında Yanlışların Düzeltilmesi: Klavyede yer
alan ok tuşları komut satırında yapılan yanlışlıkların
düzeltilmesine imkan verir. Bunlar yukarı “↑” aşağı “↓”
sol “←” sağ “→”. Yukarı tuşu yardımıyla bir önceki satır
tekrar görüntülenerek sağ ve sol tuşları ile yanlış yazılı yere
imleç taşınarak düzenleme gerçekleştirilir.
Sonucun Ekranda Görüntülenmesini Gizleme: Bir
deyim yazıp, ENTER tuşuna basınca sonuçlar ekranda
otomatik olarak görüntülenir. Buna karşılık, deyimin
sonuna “ ; ” ilave edilecek olursa yapılan hesaplamalar
ekranda görüntülenmez.
16. SAYILAR
Ondalık sayılar Türkçemizdeki 3,5 yerine 3.5 şeklinde gösterilir (0.0001
veya 0.65 yerine .65).
Bilimsel notasyon gösterimi olan e (veya E) harfi 10’nun kuvvetini temsil
eder.
2e4=2.104=2000 veya 1.65e-20=1.65.10-20 demektir.
Kompleks sayılarda imajiner (sanal) kısımlar i veya j ekini alır. i veya j
ile gosterimlerinde bir fark yoktur.
(1+3i veya 1+3*i veya 1+i*3 ama 1+i3) / 1+sqrt(3)*j / -5i
Matlab’de tüm sayılar, yaklaşık 2.10308 ve 2.10-308 arasında değişir.
17. MATLAB, deyimler içerisinde aşağıdaki aritmetik operatörleri ve öncelik kurallarınıkullanır.
Aritmetik Operatörler
İşlem Operatör Örnek
Toplama, a+b + 2+3
Çıkarma, a-b - 5-2
Çarpma, a*b * 3*4
Bölme, a/b / 15/7
Üs alma, ab ^ 2^3
Parantez a*(b+c) ( ) 2*(3+5)
Aritmetik Operatörlerin Öncelik Sıraları: Tek bir
matematiksel deyim içinde birden fazla işlem bir arada
bulunabildiğine göre hangi işlemin öncelik hakkına sahip
olduğunun bilinmesi yerinde olacaktır. MATLAB’de
işlemlerin öncelik listesi aşağıda verilmiştir.
Öncelik İşlem
1. Parantez (İçten Dışa Doğru)
2. Üs Alma (Soldan Sağa Doğru) (2^2^3=???)
3. Çarpma ve Bölme (Soldan Sağa Doğru)
4. Toplama ve Çıkarma (Soldan Sağa Doğru)
18. MatematikselYazılım MATLAB de Yazılım
b+c3-d/8-b2c b+c^3-d/8-b^2*c
MatematikselYazılım MATLAB de Yazılım
ab-c+d-6+da a*b-c+d-6+d*a
Uygulama_1 :
Uygulama_2 :
Uygulamalar
19. ac
b
ab
bd
c
b
a
4
2
2
2
3
Uygulama_3 :
𝑎/𝑏 𝑐^
3/2 𝑐^(3/2)
𝑏 ∗ 𝑑^2
(2 ∗ 𝑎 ∗ 𝑏)
(𝑏^
2 − 4 ∗ 𝑎 ∗ 𝑐)
)
*
*
4
2
/(
)
*
*
2
(
2
*
)
2
/
3
(
/ c
a
b
b
a
d
b
c
b
a
İki ifade bir birine
bölündüğü için parantez
kullanılmıştır.
a=1, b=2, c=3, d=4
20. MATLAB/TEMEL KOMUTLAR
clc
clear
clear a
demo
date
exit
help
help f_na
save d a
load d
9
Command window’u temizler.
İlgili oturumda atanmış tüm değişkenleri siler.
Yalnızca “a” değişkenini siler.
Matlab demosunu çalıştırır.
Gün-Ay-Yıl’ı görüntüler (Örneğin, 17-Oct-2009)
Matlab oturumundan çıkar.
Yardım menüsünü açar.
f_na fonksiyonu hakkında bilgi verir.
a değişkenini d dosya ismiyle mat uzantılı olarak kaydeder.
a değişkenini d dosyasından geri çağırır.
Save ve load komutları, matris vb. yapıların
kaydedilmesi için çok önemlidir.
21. MATLAB/TEMEL DOSYA TÜRLERİ
*.m MATLAB program dosyaları
*.fig Grafik dosyaları ve GUI’lerin grafik parçaları
*.mat Değişken ve matris dosyaları
*.p pre-parsed pseudo-code dosyaları(bu dosyaların içeriği
görüntülenemez ancak program olarak çağrılabilir, yani MATLAB’de
çalıştırılabilir!)
24. Matris ve vektörler *.mat uzantılı olarak save komutuyla kaydedilir, load
ile de istenilen yerden geri çağrılır.
Örneğin, girilmiş bir a matrisini “D:gs” klasörüne “katsayilar.mat” olarak kaydetmek
isteyelim: Bunun için aşağıdaki komut dizisikullanılır;
save D:gskatsayilar a
katsayilar.mat olarak kaydedilen a matrisinin herhangi bir zamanda geri çağrılması için,
load D:gskatsayilar
komut dizisi kullanılır. Geri çağırma işleminden sonra, ilgili matris a dizisi olarak
workspace’de kaydedilir (workspace’e kaydetmeişleminin geçici olduğunuhatırlayınız!)
Yeni bir matrisi katsayilar.mat olarak kaydettiğimizde, önceki matrisi bir daha görme imkanı
kalmaz. Yani save overwrite (üzerine yazma) özelliklidir.
25. MATLAB/SAYI FORMATLARI
a =
1.000045459992342e+008
>> format long
>> a=1.123000123123123123;
>> a
a = 16 karakter
1.12300012312312
>> a=100004545.99923423499111;
>> a
108 a =
1.0000e+008
>> format short
>> a=1.123000123123123123;
>> a
a = 6 karakter
1.1230
>> a=100004545.99923423499111;
>> a
108
Bir sayının istenilen hanesinin gösterilmesi için fprintf veya sprintf komutları
kullanılır:
>>a=100004545.99923423499111;
>>fprintf(‘%1.10f’,a)
100004545.9992342300
Matris elemanlarının istenilen hanede
gösterilmesi için,
printmatrix fonksiyonu oldukça
kullanılışlıdır (File-exchange sayfasından
dow nload edilebilir!)
1
4
26. MATLAB/Temel lineer cebir komutları
trace(a)Bir a matrisinin izini (köşegen elemanlarının toplamını) hesaplar.
diag(a)Bir kare a matrisinin köşegen elemanlarınıbir sütun vektöre atar. Ya da
a bir vektör ise köşegenleri bu vektörün elemanlarından oluşan bir köşegen matris oluşturur.
sum(a)a matrisinin her bir sütununun toplamınıhesaplar. a bir vektör ise sonuç, vektör elemanlarının
toplamı olur.
triu(a)Bir matrisin üst üçgen matrisini oluşturur.
tril(a)Bir matrisin alt üçgen matrisini oluşturur.
zeros(m,n)m×n boyutlu sıfır matrisi oluşturur.
ones(m,n)m×n boyutlu elemanları“1”olan matris oluşturur.
eye(m)m×m boyutlu birim matris oluşturur.
27. MATLAB/Temel lineer cebir komutları
inv(a)Bir a kare matrisinin tersini (inversini) alır.
a’ a matrisinin devriğini (transpozesini) alır.
det(a) a matrisinin determinantını hesaplar.
a+b Boyutları aynı olan a ve b matrisini toplar.
a-b Boyutları aynı olan a ve b matrislerinin farkınıalır.
a*b Sütun sayısı m olan a matrisiyle satır sayısı m olan b matrisini çarpar.
a/b b düzenli kare bir matrisse (determinantı sıfırdan farklıysa), aynı boyutlu a matrisiyle;
a*inv(b)işlemini yapar.
a.*b Boyutları aynı olan a ve b matrislerinin elemanların ıkarşılıklı olarak çarpar.
a./b Boyutları aynı olan a ve b matrislerinin elemanlarını karşılıklı oranlar
28. «
MATLAB/Temel matris operatörleri
a(:) a matrisinin sütunlarının ardarda dizilmesinden oluşan bir sütun vektör oluşturur (vec operatörü)
a(:,i) a matrisinin i. sütununu alır.
a(j,:) a matrisinin j. satırınıalır.
a(:,[i j]) a matrisinin i ve j. sütununu alır.
a([i j],:) a matrisinin i ve j. satırınıalır.
e=a:b:n a, (a+b),…,n sayılarından oluşan bir satır vektör oluşturur.
Örneğin,
e=1:1:n, 1 ile n arasındaki tam sayılardan oluşan bir vektör.
e=2:2:n, 1 ile n arasındaki çift sayılardan oluşan bir vektör.
e=1:2:n, 1 ile n arasındaki tek sayılardan oluşan bir vektör.
e=-10:0.1:n, -10’dan 0.1 artımla n’yekadar olan sayılardan oluşan bir vektör.
29. MATLAB/Temel matris operatörleri
length(a) a matrisinin sütun sayısınıverir. a bir vektör ise sonuç, a vektörünün eleman sayısıdır.
[m,n]=size(a) a matrisinin satır sayısını(m) ve sütun sayısını(n) verir.
max(a) Bir a vektörünün en büyük elemanınıgösterir.
min(a) Bir a vektörünün en küçük elemanınıgösterir.
[m,i]=max(a) Bir a sütun vektörünün en büyük elemanını(m) ve bunun satır numarasını verir.
[m,i]=min(a) Bir a sütun vektörünün en küçük elemanını(m) ve bunun satır numarasını verir.
sort(a) Bir a vektörünün elemanlarını küçükten büyüğe sıralar.
a(:,i)=[] A’nın i. sütununu siler.
a(i,:)=[]A’nın i. Satırını siler.
36. İŞLEÇLER ÜÇE AYRILIR: ARİTMETİK, İLİŞKİSEL VE MANTIKSAL
İLİŞKİSEL İŞLEÇLER:
< KÜÇÜKTÜR
<= KÜÇÜK EŞİTTİR
> BÜYÜKTÜR
>= BÜYÜK EŞİTTİR
== EŞİTTİR
~= EŞİT DEĞİLDİR
MANTIKSAL İŞLEÇLER:
~ NOT (DEĞİL)
& AND (VE)
| OR (VEYA)
37. MATLAB PROGRAMLARINA KLAVYEDEN VERİ AKTARIMI
"input" komutu yardımıyla bir MATLAB programı içerisinde değerlendirilmek
üzere kullanıcıdan klavye yoluyla bir veri alınır ve bu veri bir değişkene atanır.
Bardak en fazla %90 oranında dolsun
Veri Girişi Sembolü
38. input KOMUTU İLE KLAVYEDEN METİNSEL
VERİ TEMİNİ
>> isim=input('Lutfen Isminizi Giriniz = ', 's' )
%c : degerin tek bir karakter olduğunu gösterir.
%s : degerin bir karakter dizisi (string) olduğunu
gösterir.
%d : degerin bir tamsayı olduğunu gösterir.
%f : degerin bir ondalıklı sayı olduğunu gösterir.
%g : degeri mümkün olan en kompakt forma sokar.
Diğer yandan :
n : İmleci bir alt satırın başına götürür.
(n, newline)
t : İmleci bir TAB kadar sağa kaydırır.
40. disp('Üzgünüm! Sıfıra Bölüm Hatası Var.');
fprintf('Üzgünüm! Sıfıra Bölüm Hatası Var.n');
Komutu İle Ekrana Sayısal Değer Yazdirma
disp komutu ekrana çıktı verdikten sonra bir alt satıra otomatik olarak atlar.
fprintf komutunu bir alt satıra götürebilmek için ise n kullanılmalıdır.
Ayrıca disp komutu satır veya sütun vektörleri ile matrisleri ekrana kolayca
yazdırabilirken aynı işlemi fprintf ile yapabilmek daha çok işlem
gerektirmektedir.
44. MATLAB PROGRAMLAMA
Bilgisayar programlamasında genel olarak belirli
kalıp ve kurallara uyulur. Bir bilgisayar yazılımının
oluşturulmasında genel olarak aşağıda sıralanan
prosedüre uyulur:
Problemin tanımı (Ne-Niçin)
Çözüm yönteminin ve adımlarının belirlenmesi
(algoritma: akış şemaları veya pseudo-kod)
Kodlama (Programlama diline çevirme)
Sınama (Programı çalıştırma)
Belgeleme ve Güncelleştirme
45. DİZİLER
DİZİ, EN GENEL MATEMATİKSEL TANIMI İLE NÜMERİK VE METİNSEL
DEĞERLER TOPLULUĞUDUR. MATLAB’DE HERŞEY BİR DİZİ OLARAK
İŞLEME KONUR VE EN TEMEL VERİ ELEMANIDIR.
REEL İLE KOMPLEKS SAYILARI İFADE EDEN ÇİFTKAT VEYA NÜMERİK
DİZİLER (DOUBLE VEYA NUMERİC ARRAY)
METİN İFADE EDEN DİZİLER (CHAR ARRAY)
HÜCRE DİZİLER (CELL VEYA STRUCT ARRAY)
MATLAB DİZİLER
46. MATLAB/DİZİLER (ARRAYS)
Sayılar
Karakterler
: Sayı dizileri
: Karakter dizileri
(numeric array)
(character array)
c=2017
d='İstanbul Universitesi'
f=[2017 2018]
g=[d ' mühendislik
Fakultesi']
(numeric array)
(character array)
(numeric, matrix)
(character, matrix)
Not: Numeric ile character dizileri bir matriste bir arada bulunamaz!Yani,
bir matris hem sayı hem de bir kelimeyi aynı anda içeremez!
Hücreler
Yapılar
: Hücre dizileri
: Yapı dizileri
(cell array)
(structure array)
47. MATLAB/Diziler (Arrays)
C=cell(n) nn hücreden oluşanboş bir hücreyiC’ye atar.
Örneğinn=2 için
>> C=cell(2) C =
[]
[]
[]
[]
hücresi oluşturulur.
Bir hücrenin içine istenilensayıda yeni hücreler eklemek mümkündür;
Örneğin,
C{1}{1}=[2 3] ile C aşağıdaki biçimde değişir;
C =
26
{1x1 cell}
[]
[]
[]
48. Yapı dizileri (Structure arrays), veri tabanları için oldukça kullanılışlı bir
dizi türüdür.
A.name=‘galatasaray';
A.sname=‘spor kulubü';
A.city='Istanbul';
A.email=‘galatasaray1905@gm
ail.com';
A.year=1905;
A yapı dizisi çağrıldığında,
>>A
A =
name: 'galatasay'
sname: 'spor kulubü'
city: 'Istanbul'
email: 'galatasray1905@gmail.com'
year: 1905
ile A, bir structure array olur.
Hücre ve yapı dizileri, mat uzantılı dosyalar olarak, daha önce
açıklanan save komutuyla kaydedilip, load komutuyla geri
çağrılabilir.
49. num2str(a) Bir a sayısını bir karaktere atama (From numeric to (2)
string)
str2num(a) Karakter olan bir a sayısını sayı değerine atama
mat2str(a) Bir a matrisini bir karakter dizisine atama
int2str(a) Bir a tam sayısını bir karaktere atama
char(a) Bir a hücresini bir karakter dizisine atama
cellstr(a) Bir a karakterini bir hücre dizisine atama
num2cell(a) Bir a sayısını bir hücre dizisine atama
50. MATLAB/İF,END YAPISI
if (eğer) yapısı bir koşulun gerçekleşmesi durumunda bir işlemi yaptırmak için sıklıkla kullanılır.
Bu ifade,
if koşul
işlem
end biçimindedir.
Örnek: Girilen bir sayının negatif olması durumunda, sayıyı doğal logaritmasıyla değiştiren bir
kod düşünelim:
a=input(' bir sayi
giriniz= ');
if a<0
a=log(a);
else
a=a;
end
a
“Diğer durumda”
anlamındadır:
Burada, a>=0
koşulunu temsil
eder.
a=input(' bir sayi giriniz= ');
if a<0
a=log(a);
end
if a>0
a=a;
end
a
Else yapısı kullanılmasaydı
51. MATLAB/SWİTCH,CASE YAPISI
switch (değiştir) if yapısına benzer. Burada daha çok sözel olarak belirtilen durumlara göre
yönlendirme işlemi yapılır. Bu yapının kullanımı case ile aşağıdaki gibidir;
switch durum
case durum
işlem1
case durum2
işlem2
otherwise
işlem3
end
Örnek: gun degiskeninin, is gunu olup olmadığına karar vermek için aşağıdaki kodlar düşünülür;
clear,clc
gun=input('hangi gun=', 's');
switch lower(gun)
case{'pazartesi','sali','carsamba','persembe','cuma'}
disp('işgünü')
case {'cumartesi','pazar'}
disp('TATİL!')
end
Kullanımı kişiye bağlıdır.
52. MATLAB/FOR,END DÖNGÜSÜ
for,end döngüsü bir işlemin birden daha fazla sayıda yaptırılmasında
kullanılır.
(Örneğin, kök bulma problemlerinde kullanılan iterasyon çözümleri).
Kullanımı,
(iTam sayı (integer))
for i=1:n
işlem
end
biçimindedir.
Örnek: 1’den N’ye kadar olan sayıların toplamını yapan bir program
düşünelim.
clear,clc
N=input('bir sayi giriniz=');
say=0; %sayac
for i=1:N
say=say+i; %birikimli (kümülatif toplam)
end
disp(say)
53. MATLAB/while,end döngüsü
while,end döngüsü, belirli bir durumun gerçekleşmesi durumunda bir işlemin birden daha fazla sayıda
yaptırılmasında kullanılır.
done=0;
while done==0
işlem
end
Örnek: 1’den N’ye kadar olan sayıların toplamını while,end döngüsüile yapan bir program düşünelim.
clear,clc
N=input('bir sayi giriniz=');
say=0;i=0;done=0;
while done==0
i=i+1; %bir önceki örnekte for,end döngüsündeki “i” ye karşılık gelir.
if i==N
done=1;
end
say=say+i;
end
say
1. Buradaki, while,end döngüsü, done değişkeni ancak ve
ancak 0 olduğu zaman çalışacaktır.
2. Bir önceki satırda, done değişkeni 0 olarak atanmış olduğu
için while,end döngüsü çalışır.
(while, end döngüsünü çalıştıran farklı algoritmalara burada
değinilmeyecektir).
i, son sayıya (N’ye) ulaştığında, done değişkenine 0’dan farklı bir sayı
atanır. Böylece, while’ın olduğu satıra gelindiğinde,done “0” olmadığı
için while, end döngüsü çalışmaz (döngü sonlanır). Program, bu
döngünün end satırının hemen altındaki satırdan işleme devam eder
(burada, say değişkeni command window’da yazdırılır.).
54. KAYNAKÇA
Doğan, U., (2009),TemelBilgisayarBilimleri Ders Notları, YTÜ, Lisans Ders Notları, İstanbul.
Demirel,H., (2005),Dengeleme Hesabı, YTÜ,Lisans Ders Notları, İstanbul.
UzunoğluM., vd. (2002),Matlab, Türkmen Kitabevi, İstanbul.
http://www.mathworks.com/matlabcentral/
http://www.mathworks.com/matlabcentral/fileexchange/
Matlab İle Programlama (Dr. Deniz DAL)