Soru sorGeometrik Dağılım hesaplama
eliff tarafından 3 yıl önce soruldu
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

2 Cevap
ekremt Yönetici tarafından 3 yıl önce cevaplandı

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)
eliff tarafından 3 yıl önce cevaplandı

Çok çok teşekkür ederim yardımınız için istediğim gibi oldu.