悬赏 10 个论坛币 未解决
我依照图片里的方法和算法求F分布的最短置信区间。
算法在图片里。
我自己编的matlab程序。
程序1:
function [z1,z2]=gold1(alpha)
e=10^-6;
a=0;
b=alpha;
beta1=a+0.382*(b-a);
beta2=a+0.618*(b-a);
L1=Fx1(1-alpha+beta1)-Fx1(beta1);
L2=Fx1(1-alpha+beta2)-Fx1(beta2);
while 1;
        if L1<L2
            b=beta2;
            beta2=beta1;
            L2=L1;
            beta1=a+0.382*(b-a);
            L1=Fx1(1-alpha+beta1)-Fx1(beta1);
        else
            a=beta1;
            beta1=beta2;
            L1=L2;
            beta2=a+0.618*(b-a);
            L2=Fx1(1-alpha+beta2)-Fx1(beta2);
        end
        if abs(beta2-beta1)<e
            beta=(beta1+beta2)/2; 
            break;
        end
end
z1=Fx1(1-alpha+beta);
z2=Fx1(beta);
end 
程序2:
function [x]=Fx1(beta)
e=10^-6;
a=0;
b=1000;
c=(a+b)/2;
while 1;
    x0=c;
    F=Fcdf(x0,1,1);
    if F<(1-beta) 
        a=c;
        c=(a+b)/2;
    else
        b=c;
        c=(a+b)/2;
    end
    if abs(b-a)<e;
        x=c;
        break;
    end
end
x;
end
我是依照这里的算法编的,而我求的是F分布的最短置信区间。
本人是菜鸟,很多东西都没弄明白,在这里虚心向各位前辈、大侠求解!希望高手帮我修改修改,指点指点!感激不尽!!