0001 function lnprior = priordens(para, pshape, p1, p2, p3, p4)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 lnprior = 0;
0012 nprio = length(pshape);
0013
0014 i = 1;
0015 while i <= nprio;
0016 a = 0;
0017 b = 0;
0018 if pshape(i) == 1;
0019 mu = (p1(i)-p3(i))/(p4(i)-p3(i));
0020 stdd = p2(i)/(p4(i)-p3(i));
0021 a = (1-mu)*mu^2/stdd^2 - mu;
0022 b = a*(1/mu - 1);
0023 lnprior = lnprior + lpdfgbeta(para(i),a,b,p3(i),p4(i)) ;
0024 elseif pshape(i) == 2;
0025 b = p2(i)^2/(p1(i)-p3(i));
0026 a = (p1(i)-p3(i))/b;
0027 lnprior = lnprior + lpdfgam(para(i)-p3(i),a,b);
0028 elseif pshape(i) == 3;
0029 lnprior = lnprior + lpdfnorm(para(i),p1(i),p2(i));
0030 elseif pshape(i) == 4;
0031 lnprior = lnprior + lpdfig1(para(i),p1(i),p2(i));
0032 elseif pshape(i) == 5;
0033 lnprior = lnprior + log(1/(p2(i)-p1(i)));
0034 elseif pshape(i) == 6;
0035 lnprior = lnprior + lpdfig2(para(i),p1(i),p2(i));
0036 end;
0037 i = i+1;
0038 end;
0039
0040
0041
0042
0043
0044
0045
0046