?? 源程序.m
字號:
%f1=str2double(get(handles.f1_input,'string'));
%f2=str2double(get(handles.f2_input,'string'));
%t=eval(get(handles.t_input,'string'));
function junzhicha( ) %設有兩個正態總體其分布分別為N(mu1,sigma1^2)
%和N(mu2,sigma2^2),求兩個正態總體均值差的區間估計
a=[6.683 6.681 6.676 6.678 6.679 6.672];
b=[6.661 6.661 6.667 6.667 6.664];
aj=mean(a); %得到樣本均值
bj=mean(b);
Sa=var(a); %得到樣本方差
Sb=var(b);
n1=length(a); %得到樣本容量
n2=length(b);
alpha=0.05; %給定常數alpha
u2a=norminv(2*alpha,0,1); %給定alpha,得到標準正態分布的雙側分位數
Sy=sqrt(Sa/n1+Sb/n2); %Sy為樣本均值差的標注差
S=sqrt(((n1-1)*Sa+(n2-1)*Sb)/(n1+n2-2));
t2a=tinv(2*alpha,n1+n2-2); %給定alpha,得到t分布的雙側分位數
sigma=0.2;
sigma1=0.1;
sigma2=0.4;
if sigma~=NaN %判斷sigma是否已知
f0=0;
else
f0=1;
end
if sigma1~=NaN %判斷sigma1是否已知
f1=0;
else
f1=1;
end
if sigma2~=NaN %判斷sigma2是否已知
f2=0;
else
f2=1;
end
if f1==0 & f2==0 %當sigma1及sigma2為已知時
Sz=sqrt(sigma1^2/n1+sigma2^2/n2); %Sz為總體均值差的標注差
sh=aj-bj+u2a*Sz
xi=aj-bj-u2a*Sz
elseif f1==1 & f2==1 & n1>=50 & n2>=50 %當igma1與sigma2均為未知且n1與n2均不小于50時
sh=aj-bj+u2a*Sy
xi=aj-bj-u2a*Sy
else sigma1==sigma2 & sigma1==sigma & f0==1 & f1==1 & f2==1 %當sigma1與sigma2均為未知,且sigma1^2=sigma2^2=sigma^2時
sh=a1-b1+t2a*S*sqrt(1/n1+1/n2)
xi=a1-b1-t2a*S*sqrt(1/n1+1/n2)
end
mu1=6;
mu2=7;
if mu1~=NaN %判斷mu1是否已知
f3=0
else
f3=1
end
if mu2~=NaN %判斷mu2是否已知
f4=0
else
f4=1
end
F=finv(alpha/2,n2-1,n1-1); %給定alpha,得到f分布的雙側分位數
while f3==1 & f4==1
sh=F*Sa/Sb
xi=Sa/Sb*F
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -