Hoş Geldin, Mühendis!

Tüm mühendislerin ve mühendis adaylarının yer aldığı forum sayfamıza kayıt olmalısınız. Kayıt olduktan sonra tüm ders notlarına, teknik dokümanlara erişim sağlayabilecek, sorularınızı sorup cevaplar verebileceksiniz. Sitemiz tamamiyle ücretsiz olmakla birlikte Mühendis Puanı sistemi uygulamaktadır.

Bilgi paylaştıkça çoğalır.

Premium Abonelik 📢

Premium abonelik ile sitemizi reklamsız gezebilir, dosyaları sınırsızca indirebilirsiniz.

Daha Fazlası

[Muhendisiz.NET] Tekrar Sizlerleyiz! 🎭

Mühendisiz.NET sitesi forum ve blog sayfası olarak tekrar yayın hayatına başladı. 🤩 Sizlerde forum sayfamıza üye olabilir ve mühendis topluluğumuza katılabilirsiniz.

Daha Fazlası

Mühendis Puanı Sistemi🏆

Bilgi paylaştıkça çoğalır felsefesini benimsemiş olmamız nedeniyle Mühendis Puanı sistemini uygulamaya aldık. Dökümanları indirebilmek için bazı paylaşımlarda bulunmalısınız. 📨

Daha Fazlası
  • Dosya indirebilmek için 2 Mühendis Puanına ihtiyacınız var. Konuya yorum atarak 1 MP Not paylaşarak 6 MP kazanırsınız.
    Bilgi Paylaştıkça Çoğalır. (Mühendislik Puanı (MP) Nedir?)
  • Mühendis Puanı kazanmaya vakti olmayanlar için ücretli premium üyelik sistemi aktif edilmiştir.
    (Premium Üyelik SATIN AL)

MATLAB ile EKOK ve EBOB Bulma

turkmedia

Moderatör
Katılım
8 Ara 2022
Mesajlar
760
Mühendis Puanı
1,612
Bu yazımızda, MATLAB kullanarak EKOK(En küçük ortak kat) ve EBOB(En büyük ortak bölen) bulan program oluşturacağız. Oluşturduğumuz program, veri olarak girdiğimiz dizinin bütün elemanları arasında hesaplama yapacak. MATLAB’da bulunan hazır fonksiyonlar ile kolay bir şekilde EKOK veya EBOB hesaplayabiliyoruz ancak hazır fonksiyonlar, hesap yaparken iki elemanı veri olarak almaktadır. Buna ek olarak programlama bilgimizi geliştirmek için kendimiz EKOK ve EBOB bulan bir program oluşturacağız. Kodlamaya geçelim:

EKOK:​

function ekok = ekok_bul(x)
for i = 1:prod(x) %Dizinin çarpımı
if mod(i, x) == 0
ekok = i;
fprintf('Ekok: %d\n',ekok);
break
end
end
end

Matlab Fonksiyonu:​

lcm(A, B)

Hesaplama yapmak istediğimiz sayıların en küçük ortak katı, maksimum o sayıların çarpımına eşittir. Örnek olarak: verilen iki sayı A ve B olmak üzere; A ve B’nin en küçük ortak katı maksimum “A x B”, verilen üç sayı A, B ve C olmak üzere; A, B ve C’nin en küçük ortak katı maksimum “A x B x C” olabilir. Bu yüzden, döngümüz elimizdeki dizinin çarpımına kadar gitmek zorundadır.(2. Satır) En küçük ortak kat olan sayı, dizideki bütün sayılara kalansız bölünür.(3.Satır) Ancak en küçük ortak kat olan sayının katları da dizideki sayılara kalansız bölüneceği için o sayının katlarına geçmeden döngüyü durdurmamız gerekir.(6.Satır)





EBOB:​

function ebob = ebob_bul(x)
for i = max(x):-1:1
if mod(x, i) == 0
ebob = i;
fprintf('Ebob: %d\n',ebob);
break
end
end
end

Matlab Fonksiyonu:
gcd(A, B)​

En büyük ortak bölen sayıyı aradığımız için döngü iterasyonunun büyükten küçüğe doğru olması gerekiyor.(2.Satır) Birden fazla ortak bölen olabileceği için en büyük olanı bulduğumuzda döngüyü sonlandırmamız gerekiyor.(6.Satır)



 

Son kaynaklar