clear all; clc; close all; %Geometrik dağılım simülasyon nn=[25 50 100 1000 5000]; pp=[0.1 0.25 0.5 0.75]; for i=1:length(nn) n=nn(i); for j=1:length(pp) p=pp(j); for k=1:50000/n U=rand(1,n); X=log(1-U)/log(1-p); say=0; for t=1:n if X(t)>mean(X) say=say+1; end ols(k)=say/n; SNC(1,j)=1/pp(j) SNC(2,j)=mean(X) SNC(4,j)=(1-pp(j))/(pp(j)^2) SNC(5,j)=var(X) SNC(7,j)=(1-p)^(1/p) SNC(8,j)=mean(ols) end end end end
Merhaba öncelikle. benim yazdığım kodun algoritmaları doğru bir şekilde çalışıyor ancak istediğim gibi sonucu göremiyorum. Buradaki n ve p değerleri için SNC matrisi oluşturdum. Ancak bana en son n değeri olan 5000 ve en son p değeri olan 0.75 için hesapladığı SNC matrisini gösteriyor ancak ben aradaki yaptığı SNC matrislerini de görmek istiyorum. Yani her n için ve her p değeri için hesaplanan SNC matrislerinin hepsini.Ancak bir türlü yapamadım. Yardımcı olabilirseniz çok sevinirim. Teşekkürler
Merhaba,
Kodunuz doğru olduğunu belirttiğiniz için çalıştırdım. Bu şekilde yaparsanız bütün döngülerde yer alan SNC(1,j)=1/pp(j) ve diğer tüm SNC(..) ifadelerini ekrana yazdırır. Çok üzün bir işlem olacağı için bilgisayara gereğinden fazla yüklenme durumu olacak. Öncelikle bu ifadelerin de sonuna ; koymayı unutmayın.
Ardından en sonda bulunan "end" ifadesinden hemen önce aşağıdaki kodları uygularsanız 5 adet matrisi ekrana yazdıracak. Bu şekilde her n değeri için yazacaktır. Eğer beklentiniz bu şekilde ise p değeri için de kontrol edebiliriz. İyi çalışmalar
matris = sprintf('%d. n değeri (%d) için Sonuç Matrisi = ', i, n); disp(matris) disp(SNC)