Matlab’de switch-case (değiştir-durum) yapısı, Matlab’de İf – Else Yapısı makalemde gördüğümüz if, else ve elseif yapılarının kullanımına bir alternatif getirir. Aslında switch-case ile yapılan herşey if yapılarıyla da yapılır ama switch-case ile yazılan programlar daha okunabilir bir özelliğe sahiptir.
Genel formatı;
Giriş ifadesi, her bir case değeri ile karşılaştırılır. Her bir case değeri ayrı bir satırda olmalıdır.
Kod yapısı aşağıdaki gibidir.
switch (giris_ifadesi) %skaler veya karakter dizgesi
case ifade1
işlem - 1
case ifade2
işlem - 2
.
.
otherwise
işlem - n
end
Ör #1: Switch-Case kullanarak haftanın kaçıncı günde olduğumuzu yazdığımızda bize hangi günde olduğumuzu ekrana yazan bir program yazalım.
gun = input('Haftanın Kaçıncı Günündeyiz : ');
switch (gun)
case 1
disp('Pazartesi');
case 2
disp('Salı')
case 3
disp('Çarşamba');
case 4
disp('Perşembe');
case 5
disp('Cuma');
case 6
disp('Cumartesi');
case 7
disp('Pazar');
otherwise
disp('Hatalı bir rakam girdiniz.');
end
Ör #2: Switch-Case kullanarak girilen 2 değer arasında işlem yapma.
disp('1. Girilen 2 sayının toplamı.');
disp('2. Girilen 2 sayının farkı.(Mutlak Olarak)');
disp('3. Girilen 2 sayının çarpımı.');
disp('4. Girilen 2 sayından büyük olanı yazdır.');
disp('5. Girilen 2 sayından küçük olanı yazdır.');
i = input('Hangi İşlem Yapılsın : ');
x = input('2 Sayıdan Birincisini Girin : ');
y = input('2 Sayıdan İkincisini Girin : ');
switch (i)
case 1
deger = x+y;
case 2
deger = abs(x-y);
case 3
deger = x*y;
case 4
deger = max(x,y);
case 5
deger = min(x,y);
otherwise
deger = 'Hatalı bir rakam girdiniz.';
end
disp(deger);
Ör #3: Switch-Case kullanarak 1 ile 10 arasında girilen bir sayının tek mi çift mi olduğunu ekrana yazdıralım.
sayi = input('1 ile 10 Arasında Bir Sayı Giriniz : ');
switch (sayi)
case {1,3,5,7,9},
sonuc = 'Sayı Tek.';
case {2,4,6,8,10},
sonuc = 'Sayı Çift.';
otherwise
sonuc = 'Girdiğiniz Sayı 10dan Büyük mü ?';
end
disp(sonuc);
Sevgiler.
Bir önceki yazımız olan Matlab'de İf - Else Yapısı başlıklı makalemizi de okumanızı öneririz.
