coefficient completed
DESCRIPTION
Coefficient CompletedTRANSCRIPT
iteration=100000;
i=(1:iteration)';
U=(rand(iteration,1)+(i-1))./iteration;
D=norminv(U,0.00005,0.00001);
D2=norminv(U,0.00015,0.00003);
D3=norminv(U,0.0001,0.00002);
D=D(D>0);
N=length(D);
[a,b]=sort(rand(N,1));
U=U(b);
X=norminv(U,0.04,0.005);
[a,b]=sort(rand(N,1));
U=U(b);
Co=logninv(U,1.14119,0.47238);
[a,b]=sort(rand(N,1));
U=U(b);
Cth=0.6+(1.2-0.6).*U;
for a=1:1:20
A=Co.*(1-erf(X./(2.*(sqrt(D.*a)))));
[b,c]=sort(rand(length(A),1));
A=A(c);
M=A-Cth;
M=M(M>0);
Pf(a)=length(M)./length(A);
meansee=mean(A)-0.5.*mean(A);
stdsee=std(A)-0.5.*std(A);
w0=1./(std(A).^2);
w1=1./(stdsee.^2);
w=w0+w1;
meanpos=(w0.*mean(A)+w1.*meansee)./w;
stdpos=sqrt(1./w);
[d,e]=sort(rand(N,1));
U=U(e);
newA=norminv(U,meanpos,stdpos);
newM=newA-Cth;
newM=newM(newM>0);
newPf(a)=length(newM)./length(A);
Asecond=Co.*(1-erf(X./(2.*(sqrt(D2.*a)))));
[j,k]=sort(rand(length(Asecond),1));
Asecond=Asecond(k);
Msecond=Asecond-Cth;
Msecond=Msecond(Msecond>0);
Pfsecond(a)=length(Msecond)./length(Asecond);
meanseesecond=mean(Asecond)-0.5.*mean(Asecond);
stdseesecond=std(Asecond)-0.5.*std(Asecond);
w0=1./(std(Asecond).^2);
w1=1./(stdseesecond.^2);
w=w0+w1;
meanpossecond=(w0.*mean(Asecond)+w1.*meanseesecond)./w;
stdpossecond=sqrt(1./w);
[l,m]=sort(rand(N,1));
U=U(m);
newAsecond=norminv(U,meanpossecond,stdpossecond);
newMsecond=newAsecond-Cth;
newMsecond=newMsecond (newMsecond>0);
newPfsecond (a)=length(newMsecond)./length(Asecond);
Atir=Co.*(1-erf(X./(2.*(sqrt(D3.*a)))));
[o,p]=sort(rand(length(Atir),1));
Atir=Atir (p);
Mtir=Atir-Cth;
Mtir=Mtir (Mtir>0);
Pftir (a)=length(Mtir)./length(Atir);
meanseetir=mean(Atir)-0.5.*mean(Atir);
stdseetir=std(Atir)-0.5.*std(Atir);
w0=1./(std(Atir).^2);
w1=1./(stdseetir.^2);
w=w0+w1;
meanpostir=(w0.*mean(Atir)+w1.*meanseetir)./w;
stdpostir=sqrt(1./w);
[q,r]=sort(rand(N,1));
U=U(r);
newAtir=norminv(U,meanpostir,stdpostir);
newMtir=newAtir-Cth;
newMtir=newMtir (newMtir>0);
newPftir (a)=length(newMtir)./length(Atir);
end
tt=1:1:20;
plot(tt,Pf,'r',tt,newPf,'b',tt,Pfsecond, 'g',tt,newPfsecond, 'y', tt,Pftir, 'black',tt,newPftir, 'm')
legend('Good prior normal(0.00005,0.00001)','Good posterior normal(0.00005,0.00001)','Poor prior normal(0.00015,0.00003)','Poor posterior normal(0.00015,0.00003)','Average prior normal(0.0001,0.00002)','Average posterior normal(0.0001,0.00002)');