Sonsuz döngü içerisinde bilgisayar tarafından sürekli olarak 0 ve 1 sayıları rastgele üretilen ve bu döngüden çıkış şartı ise üretilen sıfır ve birlerin sayısı arasındaki farkın 500’ü aşması. Bu koşul sağlanıp programı sonlandırırken üretilen bir ve sıfırların sayısı ve geçen süre formatlı bir biçimde virgülden sonra tek haneyle ekrana basılan bir Matlab programını nasıl yazabilirim?
Command Window:
Üretilen Sıfır Sayısı: xxxxx
Üretilen Bir Sayısı: xxxxx (+500/-500)
Geçen Süre: x,x Saniye
Geçen süreyi virgülden sonra birçok haneyle göstermemek için round() komutunu kullanabilirsiniz. Aşağıdaki parçayı inceleyin:
tic; ...%kodunuz gecenzaman=toc; gecenzaman=round(gecenzaman,1);
Yukarıdaki komut toc ile elde ettiğiniz geçen zamanı virgülden sonra tek basamaklı yazmanızı sağlayacaktır. Sonsuz döngüyü sağlamak için bir while şartı kullanmanız gerekiyor. Üretilen 0 ve 1 sayılarının arasındaki farkı takip edebilmek içinse sayının kaç tane üretildiğini bir sayaç ile takip etmeniz lazım. Örnek olarak aşağıya bir sıfır sayacı yazıyorum:
sifirsayac=0; %Önce sıfır olarak belirlememiz lazım %while dongusu r=randi([0 1]); fprintf(‘%d’, r); if r==0 sifirsayaci=sifirsayaci+1; end
Açıklamalarım parça parça oldu biliyorum ama sitemizin yaklaşımı gereği bu tür sorularda tüm çözümü vermektense yaklaşımları aktarmaya çalışıyoruz.
Merhaba Osman Bey,
r=randi([0 1]);
fprintf('%d', r);
Rastgele 0 ve 1 komutu için bu satırları yazabildim fakat bu durumu nasıl sonsuz döngüye sokup daha sonrasında da üretilen sıfır ve birlerin sayısı arasındaki farkın 500 olduğu çıkış komutunu nasıl yazacağımı bilmiyorum. Yardımcı olabilirseniz çok sevinirim..
Yardımlarınız için çok teşekkür ederim. Programımı çalıştırdım fakat tic-toc komutunu kullandığım için Command Window'da ilk satıra otomatik olarak "Elapsed time is 0.209789 seconds." yazıldı. Bunu hangi komut satırı ile "Geçen Süre: x,x Saniye" olarak yazabilirim?
Basla = tic; % BURADA ISLEMLERINIZ Bitir = toc(Basla); fprintf('Toplam sure: %d dakika,%f saniye\n', floor(Bitir/60), rem(Bitir,60));
Yardımlarınız için çok teşekkür ederim. Sayenizde programımı başarılı bir şekilde çalıştırabildim. Herkese iyi çalışmalar dilerim, kolay gelsin..