置信区间与假设检验matlab程序.docx
- 文档编号:11577068
- 上传时间:2023-03-19
- 格式:DOCX
- 页数:100
- 大小:196.24KB
置信区间与假设检验matlab程序.docx
《置信区间与假设检验matlab程序.docx》由会员分享,可在线阅读,更多相关《置信区间与假设检验matlab程序.docx(100页珍藏版)》请在冰豆网上搜索。
置信区间与假设检验matlab程序
统计学专用程序
---基于MATLAB7.0开发
---置信区间与假设检验
2013年8月1日
置信区间与假设检验程序
【开发目的】众所周知,统计工作面对的数据量繁琐而且庞大,在统计的过程中和计算中容易出错,并统计决定着国民经济的命脉,开发此软件就是为了进行验证统计的准确性以及理论可行性,减少统计工作中的错误,使统计工作者更好地进行工作与学习;所以特意开发此程序来检验统计中的参数估计和假设检验。
【开发特色】本软件基于matlab7.0进行运算,对于样本的输入采用行矩阵的形式,并且开发了样本频数输入,对于多样本的输入可以减缓工作量,对于显著性水平本程序自带正态分布函数,t分布函数,F分布函数,
分布函数的计算公式,不用再为查表和计算而苦恼,只需输入显著性水平即可,大大的简化了计算量。
【关键技术】矩阵输入进行频数判断条件循环语句的使用等
【程序界面】
【程序代码】此程序采用多文件结构,在建立文件时不能改变文件名;以下是各个文件的代码:
(Zhucaidan.m):
clc;
disp('统计学专用');
disp('1.假设检验');
disp('2.置信区间');
disp('3.使用说明');
disp('4.打开代码');
disp('0.退出程序');
disp('请进行选择:
');
a=input('');
ifa==0
exit;
elseifa==1
jiashejianyan;
elseifa==2
zhixinqujian;
elseifa==3
help1;
elseifa==4
open('zhucaidan');
disp('菜单选项');
disp('1.返回主菜单');
disp('2.退出程序!
');
p=input('');
ifp==1
zhucaidan;
elseifp==2
disp('正在退出,请稍候。
。
。
');
(exit);
end
end
end
end
end
end
end
(Zhixinqujian.m):
clc;
disp('置信区间');
disp('菜单选项');
disp('0.退出程序');
disp('1.返回主菜单');
disp('2.方差已知,待估参数为u');
disp('3.方差未知,待估参数为u');
disp('4.均值已知,待估参数为方差');
disp('5.均值未知,待估参数为方差');
disp('请进行选择:
');
c=input('');
ifc==0
exit;
elseifc==1
zhucaidan;
elseifc==2
uguji;
elseifc==3
uguji1;
elseifc==4
fguji;
elseifc==5
fguji1;
end
end
end
end
end
end
(Jiashejianyan.m):
clc;
disp('*********假设检验**********');
disp('*********菜单选项**********');
disp('********0.退出程序******');
disp('********1.返回主菜单*******');
disp('***2.σ已知,对u进行检验***');
disp('***3.σ未知,对u进行检验***');
disp('***4.u已知,对σ进行检验***');
disp('***5.u未知,对σ进行检验***');
disp('******请进行选择:
');
c=input('');
ifc==0
exit;
elseifc==1
zhucaidan;
elseifc==2
ujianyan;
elseifc==3
ujianyan1;
elseifc==4
fangcha;
elseifc==5
fangcha1;
end
end
end
end
end
end
Help.m:
clc;
disp('--假设检验与置信区间--');
disp('是否使用帮助(1/0)');
c=input('');
ifc==1
clc;
disp('--假设检验与置信区间--');
disp('********************帮助与操作说明*************');
disp('1.请严格按照说明与提示进行操作,否则可能会出现错误!
!
');
disp('2.对于样本的输入,如果频数都为1时直接回车就可,不必输入!
!
');
disp('3.版权所有,仿冒必究!
!
');
disp('0.退出说明进入主菜单!
!
');
t=input('');
ift==0
zhucaidan;
elseift~=0
exit;
end
end
elseifc==0
zhucaidan;
elseifc~=1|c~=0
exit;
end
end
end
(Help1.m):
clc;
disp('--假设检验与置信区间--');
disp('********************帮助与操作说明*************');
disp('1.请严格按照说明与提示进行操作,否则可能会出现错误!
!
');
disp('2.对于样本的输入,如果频数都为1时直接回车就可,不必输入!
!
');
disp('3.版权所有,仿冒必究!
!
');
disp('0.退出说明进入主菜单!
!
');
t=input('');
ift==0
zhucaidan;
elseift~=0
exit;
end
end
(Ujianyan.m):
clc;
disp('菜单选项');
disp('0.返回主菜单');
disp('1.返回上一层');
disp('2.退出程序');
disp('3.方差已知,单个母体,u检验');
disp('4.方差已知,两个母体,t检验');
disp('请进行选择:
');
c=input('');
ifc==0
zhucaidan;
elseifc==1
jiashejianyan;
elseifc==2
exit;
elseifc==3
clc;
disp('u检验,方差已知,服从N(0,1)');
disp('检验假设选择');
disp('0.返回主菜单');
disp('1.返回上一层');
disp('2.退出程序');
disp('3.H0:
μ=μ0;H1:
μ>μ0');
disp('4.H0:
μ=μ0;H1:
μ<μ0');
disp('5.H0:
μ=μ0;H1:
μ≠μ0');
disp('请进行选择:
');
c=input('');
ifc==0
zhucaidan;
elseifc==1
jiashejianyan;
elseifc==2
exit;
elseifc==3
clc;
disp('H0:
μ=μ0;H1:
μ>μ0');
disp('请输入子样样本,以行矩阵的形式输入');
A=input('');
disp('请输入各个子样样本的频数,以行矩阵的形式输入');
B=input('');
disp('请输入均值:
');
a=input('');
disp('请输入标准差:
');
b=input('');
disp('请输入显著性水平α:
');
d=input('');
n=numel(A);sum=0;sun=0;o=numel(B);
ifn==o
fori=1:
n
sum=sum+A(1,i)*B(1,i);
end
forj=1:
n
sun=sun+B(1,j);
end
u=(sum/sun-a)*sqrt(sun)/b
elseifo fori=1: n sum=sum+A(1,i); end u=(sum/n-a)*sqrt(n)/b end end u1=norminv(1-d,0,1) ifu>=u1 disp('****该假设检验拒绝H0,接受H1****'); elseifu disp('****该假设检验拒绝H1,接受H0****'); end end elseifc==4 clc; disp('H0: μ=μ0;H1: μ<μ0'); disp('请输入子样样本,以行矩阵的形式输入'); A=input(''); disp('请输入各个子样样本的频数,以行矩阵的形式输入'); B=input(''); disp('请输入均值: '); a=input(''); disp('请输入标准差: '); b=input(''); disp('请输入显著性水平α: '); d=input(''); n=numel(A);sum=0;sun=0;o=numel(B); ifn==o fori=1: n sum=sum+A(1,i)*B(1,i); end forj=1: n sun=sun+B(1,j); end u=(sum/sun-a)*sqrt(sun)/b elseifo fori=1: n sum=sum+A(1,i); end u=(sum/n-a)*sqrt(n)/b end end u1=norminv(1-d,0,1) ifu<=u1 disp('****该假设检验拒绝H0,接受H1****'); elseifu>u1 disp('****该假设检验拒绝H1,接受H0****'); end end elseifc==5 clc; disp('H0: μ=μ0;H1: μ≠μ0'); disp('请输入子样样本,以行矩阵的形式输入'); A=input(''); disp('请输入各个子样样本的频数,以行矩阵的形式输入'); B=input(''); disp('请输入均值: '); a=input(''); disp('请输入标准差: '); b=input(''); disp('请输入显著性水平α: '); d=input(''); n=numel(A);sum=0;sun=0;o=numel(B); ifn==o fori=1: n sum=sum+A(1,i)*B(1,i); end forj=1: n sun=sun+B(1,j); end u=(sum/sun-a)*sqrt(sun)/b elseifo fori=1: n sum=sum+A(1,i); end u=(sum/n-a)*sqrt(n)/b end end u1=norminv(1-0.5*d,0,1); u1 ifabs(u)>=u1 disp('****该假设检验拒绝H0,接受H1****'); elseifabs(u) disp('****该假设检验拒绝H1,接受H0****'); end end end end end end end end elseifc==4 clc; disp('u检验,方差已知,服从N(0,1)'); disp('检验假设选择'); disp('0.返回主菜单'); disp('1.返回上一层'); disp('2.退出程序'); disp('3.H0: μ1=μ2;H1: μ1>μ2'); disp('4.H0: μ1=μ2;H1: μ1<μ2'); disp('5.H0: μ1=μ2;H1: μ1≠μ2'); disp('请进行选择: '); c=input(''); ifc==0 zhucaidan; elseifc==1 jiashejianyan; elseifc==2 exit; elseifc==3 clc; disp('H0: μ1=μ2;H1: μ1>μ2'); disp('请输入子样样本1'); A=input(''); disp('请输入样本1的频数,以行矩阵的形式输入'); C=input(''); disp('请输入子样样本2'); B=input(''); disp('请输入样本2的频数,以行矩阵的形式输入'); D=input(''); disp('请输入标准差1: '); a=input(''); disp('请输入标准差2: '); b=input(''); disp('请输入显著性水平α: '); d=input(''); m=numel(A);n=numel(B);sum=0;sun=0;jiegua=0;jieguo=0;o=numel(C);z=numel(D); ifm==o&&n==z fori=1: m sum=sum+A(1,i)*C(1,i); jieguo=jieguo+C(1,i); end forj=1: n sun=sun+B(1,j)*D(1,j); jiegua=jiegua+D(1,j); end u=((sum/jieguo)-(sun/jiegua))/(sqrt(((a^2)/jieguo)+((b^2)/jiegua))) elseifo fori=1: m sum=sum+A(1,i); end forj=1: n sun=sun+B(1,j)*D(1,j); jiegua=jiegua+D(1,j); end u=((sum/m)-(sun/jiegua))/(sqrt(((a^2)/m)+((b^2)/jiegua))) elseifo==m&&z fori=1: m sum=sum+A(1,i)*C(1,i); jieguo=jieguo+C(1,i); end forj=1: n sun=sun+B(1,j); end u=((sum/jieguo)-(sun/n))/(sqrt(((a^2)/jieguo)+((b^2)/n))) elseifo fori=1: m sum=sum+A(1,i); end forj=1: n sun=sun+B(1,j); end u=((sum/m)-(sun/n))/(sqrt(((a^2)/m)+((b^2)/n))) end end end end u1=norminv(1-d,0,1) ifu>=u1 disp('****该假设检验拒绝H0,接受H1****'); elseifu disp('****该假设检验拒绝H1,接受H0****'); end end elseifc==4 clc; disp('H0: μ1=μ2;H1: μ1<μ2'); disp('请输入子样样本1'); A=input(''); disp('请输入样本1的频数,以行矩阵的形式输入'); C=input(''); disp('请输入子样样本2'); B=input(''); disp('请输入样本2的频数,以行矩阵的形式输入'); D=input(''); disp('请输入标准差1: '); a=input(''); disp('请输入标准差2: '); b=input(''); disp('请输入显著性水平α: '); d=input(''); m=numel(A);n=numel(B);sum=0;sun=0;jiegua=0;jieguo=0;o=numel(C);z=numel(D); ifm==o&&n==z fori=1: m sum=sum+A(1,i)*C(1,i); jieguo=jieguo+C(1,i); end forj=1: n sun=sun+B(1,j)*D(1,j); jiegua=jiegua+D(1,j); end u=((sum/jieguo)-(sun/jiegua))/(sqrt(((a^2)/jieguo)+((b^2)/jiegua))) elseifo fori=1: m sum=sum+A(1,i); end forj=1: n sun=sun+B(1,j)*D(1,j); jiegua=jiegua+D(1,j); end u=((sum/m)-(sun/jiegua))/(sqrt(((a^2)/m)+((b^2)/jiegua))) elseifo==m&&z fori=1: m sum=sum+A(1,i)*C(1,i); jieguo=jieguo+C(1,i); end forj=1: n sun=sun+B(1,j); end u=((sum/jieguo)-(sun/n))/(sqrt(((a^2)/jieguo)+((b^2)/n))) elseifo fori=1: m sum=sum+A(1,i); end forj=1: n sun=sun+B(1,j); end u=((sum/m)-(sun/n))/(sqrt(((a^2)/m)+((b^2)/n))) end end end end u1=norminv(1-d,0,1) ifu<=u1 disp('****该假设检验拒绝H0,接受H1****'); elseifu>u1 disp('****该假设检验拒绝H1,接受H0****'); end end elseifc==5 clc; disp('H0: μ1=μ2;H1: μ1≠μ2'); disp('请输入子样样本1'); A=input(''); disp('请输入样本1的频数,以行矩阵的形式输入'); C=input(''); disp('请输入子样样本2'); B=input(''); disp('请输入样本2的频数,以行矩阵的形式输入'); D=input(''); disp('请输入标准差1: '); a=input(''); disp('请输入标准差2: '); b=input(''); disp('请输入显著性水平α: '); d=input(''); m=numel(A);n=numel(B);sum=0;sun=0;jiegua=0;jieguo=0;o=numel(C);z=numel(D); ifm==o&&n==z fori=1: m sum=sum+A(1,i)*C(1,i); jieguo=jieguo+C(1,i); end forj=1: n sun=sun+B(1,j)*D(1,j); jiegua=jiegua+D(1,j); end u=((sum/jieguo)-(sun/jiegua))/(sqrt(((a^2)/jieguo)+((b^2)/jiegua))) elseifo fori=1: m sum=sum+A(1,i); end forj=1: n sun=sun+B(1,j)*D(1,j); jiegua=jiegua+D(1,j); end u=((sum/m)-(sun/jiegua))/(sqrt(((a^2)/m)+((b^2)/jiegua))) elseifo==m&&z fori=1: m sum=sum+A(1,i)*C(1,i); jieguo=jieguo+C(1,i); end forj=1: n sun=sun+B(1,j); end u=((sum/jieguo)-(sun/n))/(sqrt(((a^2)/jieguo)+((b^2)/n))) elseifo fori=1: m sum=sum+A(1,i); end forj=1: n sun=sun+B(1,j); end u=((sum/m)-(sun/n))/(sqrt(((a^2)/m)+((b^2)/n))) end end end end u1=norminv(1-0.5*d,0,1) ifabs(u)>=u1 disp('****该假设检验拒绝H0,接受H1****'); elseifabs(u) disp('****该假设检验拒绝H1,接受H0****'); end end end end end end end end end end end end end disp('菜单选项'); disp('1.继续运算'); disp('2.返回主菜单'); disp('3.打开代码'); disp('4.退出程序! '); p=input(''); ifp==1 (ujianyan); elseifp==2 zhucaidan; elseifp==3 open('ujianyan'); disp('菜单选项'); disp('1.返回主菜单'); disp('2.退出程序! '); p=input(''); ifp==1 zhucaidan; elseifp==2 disp('正在退出,请稍候。 。 。 '); (exit); end end elseifp==4 disp('正在退出,请稍候。 。 。 '); (exit); end end end end Ujianyan1.m: clc; disp('菜单选项'); disp('0.返回主菜单'); disp('1.返回上一层'); disp('2.退出程序'); disp('3.方差未知,单个母体,t检验'); disp('4.方差未知,两个母体,t检验'); disp('请进行选择: '); c=input(''); ifc==0 zhucaidan; elseifc==1 jiashejianyan; elseifc==2 exit; elseifc==3 clc; disp('t检验,方差未知,服从t(n-1)'); disp('检验假设选择'); d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 置信区间 假设检验 matlab 程序