Filistin'e Özgürlük

#IStandWithPalestine

Free Palestine

MATLAB ile Bir Vektörün En Büyük Elemanını Bulmak

MATLAB ile vektörler ve matrisler üzerinde işlem yapmak çok kolay. Konu başlığına bakıldığında ne var ki bunda demek mümkün.

MATLAB ile vektörler ve matrisler üzerinde işlem yapmak çok kolay. Konu başlığına bakıldığında ne var ki bunda demek mümkün. Zira tek bir fonksiyon ile bir vektördeki en büyük veya en küçük değerli elemanı bulmak mümkün.

Bu yazıda öz yinelemeli fonksiyon yazacağız ve bu yazdığımız fonksiyon bize vektör içindeki en büyük değerli elemanı döndürecek.

				
					function enBuyukDeger = eb_bul(vektor)
    % Temel durum: Vektör bir elemanlı ise,
	% o tek elemanı en büyük değer olarak döndür
	if numel(vektor) == 1
		enBuyukDeger = vektor;
	
		% Özyinelemeli durum: ilk elemanı, 
		% vektörün geri kalanının en büyük elemanıyla karşılaştır
	else
		ebKalan = eb_bul(vektor(2:end));
		if vektor(1) > ebKalan
			enBuyukDeger = vektor(1);
		else
			enBuyukDeger = ebKalan;
		end
	end
end
				
			

Fonksiyonu bir vektör içindeki en büyük değeri bulması için çağıralım.

				
					eb_bul([2 3 -4 5 5 6 5 8 9 -9 9 9 1 0 8 9 3 1 ])
ans =
    9
				
			

Bunun Kısa Yolu Yok Mu?

Olmaz mı? Elbette var. Konu burada kısadan işi çözmek değil aslında. Burada özyinelemenin mantığını öğrenmeye çalışıyoruz. Elbette tek bir satırda bir vektörün veya matrisin en büyük değerli elemanını bulmak mümkün.

Aşağıda bununla ilgili kodu bulabilirsiniz.

max() Fonksiyonu

MATLAB’ın içinde bulunan max() fonksiyonu bu işi çok kolay yapabiliyor. Bu komutun
kullanımına bir örnek verelim.

				
					max([2 3 -4 5 5 6 5 8 9 9 -9 9 1 0 8 9 3 1 ])
ans =
    9
				
			

Daha da ileri götürelim. En büyük değerli elemanın indis numarasını da bulalım.

				
					[M,I] = max([2 3 -4 5 5 6 5 8 9 -9 9 19 1 0 8 9 3 1 ])
M =
    19
I =
    12
				
			
Okunma Sayısı: 3