《置信区间与假设检验matlab程序.doc》由会员分享,可在线阅读,更多相关《置信区间与假设检验matlab程序.doc(58页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、精品文档,仅供学习与交流,如有侵权请联系网站删除统计学专用程序 -基于MATLAB 7.0开发 -置信区间与假设检验 2013年8月1日【精品文档】第 56 页置信区间与假设检验程序【开发目的】众所周知,统计工作面对的数据量繁琐而且庞大,在统计的过程中和计算中容易出错,并统计决定着国民经济的命脉,开发此软件就是为了进行验证统计的准确性以及理论可行性,减少统计工作中的错误,使统计工作者更好地进行工作与学习;所以特意开发此程序来检验统计中的参数估计和假设检验。【开发特色】本软件基于matlab7.0进行运算,对于样本的输入采用行矩阵的形式,并且开发了样本频数输入,对于多样本的输入可以减缓工作量,对
2、于显著性水平本程序自带正态分布函数,t分布函数,F分布函数,分布函数的计算公式,不用再为查表和计算而苦恼,只需输入显著性水平即可,大大的简化了计算量。【关键技术】矩阵输入 进行频数判断 条件循环语句的使用等【程序界面】【程序代码】此程序采用多文件结构,在建立文件时不能改变文件名;以下是各个文件的代码:(Zhucaidan.m):clc;disp(统计学专用);disp(1.假设检验);disp(2.置信区间);disp(3.使用说明);disp(4.打开代码);disp(0.退出程序);disp(请进行选择:);a=input();if a=0 exit;else if a=1 jiashej
3、ianyan ; else if a=2 zhixinqujian ; else if a=3 help1; else if a=4 open(zhucaidan);disp( 菜单选项);disp(1.返回主菜单);disp(2.退出程序!);p=input( ); if p=1 zhucaidan; else if p=2 disp(正在退出,请稍候。); (exit);end end end end end endend(Zhixinqujian.m) :clc;disp( 置信区间);disp( 菜单选项);disp(0.退出程序!);disp(1.返回主菜单);disp(2.方差已知
4、,待估参数为u);disp(3.方差未知,待估参数为u);disp(4.均值已知,待估参数为方差);disp(5.均值未知,待估参数为方差);disp(请进行选择:);c=input();if c=0 exit;else if c=1 zhucaidan; else if c=2 uguji; else if c=3 uguji1; else if c=4 fguji; else if c=5 fguji1; end end end end endend(Jiashejianyan.m):clc;disp(*假设检验*);disp(*菜单选项*);disp(*0.退出程序!*);disp(*1
5、.返回主菜单*);disp(*2.已知,对u进行检验*);disp(*3.未知,对u进行检验*);disp(*4.u已知,对进行检验*);disp(*5.u未知,对进行检验*);disp(*请进行选择:);c=input();if c=0 exit;else if c=1 zhucaidan; else if c=2 ujianyan; else if c=3 ujianyan1; else if c=4 fangcha; else if c=5 fangcha1; end end end end endendHelp.m:clc;disp(-假设检验与置信区间-);disp(是否使用帮助(1
6、/0);c=input();if c=1 clc; disp( -假设检验与置信区间-); disp(*帮助与操作说明*); disp(1.请严格按照说明与提示进行操作,否则可能会出现错误!); disp(2.对于样本的输入,如果频数都为1时直接回车就可,不必输入!); disp(3.版权所有,仿冒必究!); disp(0.退出说明进入主菜单!); t=input(); if t=0 zhucaidan; else if t=0 exit; endendelse if c=0 zhucaidan; else if c=1|c=0 exit; end endend(Help1.m):clc; d
7、isp( -假设检验与置信区间-); disp(*帮助与操作说明*); disp(1.请严格按照说明与提示进行操作,否则可能会出现错误!); disp(2.对于样本的输入,如果频数都为1时直接回车就可,不必输入!); disp(3.版权所有,仿冒必究!); disp(0.退出说明进入主菜单!); t=input(); if t=0 zhucaidan; else if t=0 exit; end end(Ujianyan.m):clc;disp( 菜单选项);disp(0.返回主菜单);disp(1.返回上一层);disp(2.退出程序!);disp(3.方差已知,单个母体,u检验);disp
8、(4.方差已知,两个母体,t检验);disp(请进行选择: );c=input();if c=0 zhucaidan;else if c=1 jiashejianyan;else if c=2 exit; else if c=3clc;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(请输入子样样本,以行矩阵的形式输入); A=input(); disp(请输入各个子样样本的频数,以行矩阵的形式输入
9、); B=input(); disp(请输入均值:); a=input(); disp(请输入标准差:); b=input(); disp(请输入显著性水平:); d=input(); n=numel(A);sum=0;sun=0;o=numel(B); if n=o for i=1:n sum=sum+A(1,i)*B(1,i); end for j=1:n sun=sun+B(1,j); end u=(sum/sun-a)*sqrt(sun)/b else if o=u1 disp(*该假设检验拒绝H0,接受H1*); else if uu1 disp(*该假设检验拒绝H1,接受H0*);
10、 end end else if c=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); if n=o for i=1:n sum=sum+A(1,i)*B(1,i); end for j=1:n sun=sun+B(1
11、,j); end u=(sum/sun-a)*sqrt(sun)/b else if on for i=1:n sum=sum+A(1,i); end u=(sum/n-a)*sqrt(n)/b end end u1=norminv(1-d,0,1) if uu1 disp(*该假设检验拒绝H1,接受H0*); end endelse if c=5 clc; disp(H0:=0;H1:0); disp(请输入子样样本,以行矩阵的形式输入); A=input(); disp(请输入各个子样样本的频数,以行矩阵的形式输入); B=input(); disp(请输入均值:); a=input();
12、 disp(请输入标准差:); b=input(); disp(请输入显著性水平:); d=input(); n=numel(A);sum=0;sun=0;o=numel(B); if n=o for i=1:n sum=sum+A(1,i)*B(1,i); end for j=1:n sun=sun+B(1,j); end u=(sum/sun-a)*sqrt(sun)/b else if o=u1 disp(*该假设检验拒绝H0,接受H1*); else if abs(u)2);disp(4.H0:1=2;H1:12); disp(请输入子样样本1); A=input(); disp(请输
13、入样本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); if m=o&n=z for i=1:m sum=sum+A(1,i)*C(1,i); jie
14、guo=jieguo+C(1,i); end for j=1:n sun=sun+B(1,j)*D(1,j); jiegua=jiegua+D(1,j); end u=(sum/jieguo)-(sun/jiegua)/(sqrt(a2)/jieguo)+(b2)/jiegua) else if om&n=z for i=1:m sum=sum+A(1,i); end for j=1:n sun=sun+B(1,j)*D(1,j); jiegua=jiegua+D(1,j); end u=(sum/m)-(sun/jiegua)/(sqrt(a2)/m)+(b2)/jiegua) else i
15、f o=m&zn for i=1:m sum=sum+A(1,i)*C(1,i); jieguo=jieguo+C(1,i); end for j=1:n sun=sun+B(1,j); end u=(sum/jieguo)-(sun/n)/(sqrt(a2)/jieguo)+(b2)/n) else if om&z=u1 disp(*该假设检验拒绝H0,接受H1*); else if uu1 disp(*该假设检验拒绝H1,接受H0*); end end else if c=4 clc; disp(H0:1=2;H1:12); disp(请输入子样样本1); A=input(); disp(
16、请输入样本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); if m=o&n=z for i=1:m sum=sum+A(1,i)*C(1,i); j
17、ieguo=jieguo+C(1,i); end for j=1:n sun=sun+B(1,j)*D(1,j); jiegua=jiegua+D(1,j); end u=(sum/jieguo)-(sun/jiegua)/(sqrt(a2)/jieguo)+(b2)/jiegua) else if om&n=z for i=1:m sum=sum+A(1,i); end for j=1:n sun=sun+B(1,j)*D(1,j); jiegua=jiegua+D(1,j); end u=(sum/m)-(sun/jiegua)/(sqrt(a2)/m)+(b2)/jiegua) else
18、 if o=m&zn for i=1:m sum=sum+A(1,i)*C(1,i); jieguo=jieguo+C(1,i); end for j=1:n sun=sun+B(1,j); end u=(sum/jieguo)-(sun/n)/(sqrt(a2)/jieguo)+(b2)/n) else if om&zn for i=1:m sum=sum+A(1,i); end for j=1:n sun=sun+B(1,j); end u=(sum/m)-(sun/n)/(sqrt(a2)/m)+(b2)/n) end end end end u1=norminv(1-d,0,1) if
19、 uu1 disp(*该假设检验拒绝H1,接受H0*); end endelse if c=5 clc; disp(H0:1=2;H1:12); 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=nu
20、mel(B);sum=0;sun=0;jiegua=0;jieguo=0;o=numel(C);z=numel(D); if m=o&n=z for i=1:m sum=sum+A(1,i)*C(1,i); jieguo=jieguo+C(1,i); end for j=1:n sun=sun+B(1,j)*D(1,j); jiegua=jiegua+D(1,j); end u=(sum/jieguo)-(sun/jiegua)/(sqrt(a2)/jieguo)+(b2)/jiegua) else if om&n=z for i=1:m sum=sum+A(1,i); end for j=1
21、:n sun=sun+B(1,j)*D(1,j); jiegua=jiegua+D(1,j); end u=(sum/m)-(sun/jiegua)/(sqrt(a2)/m)+(b2)/jiegua) else if o=m&zn for i=1:m sum=sum+A(1,i)*C(1,i); jieguo=jieguo+C(1,i); end for j=1:n sun=sun+B(1,j); end u=(sum/jieguo)-(sun/n)/(sqrt(a2)/jieguo)+(b2)/n) else if om&z=u1 disp(*该假设检验拒绝H0,接受H1*); else i
22、f abs(u)0,);disp(4.H0:=0;H1:0); disp(请输入子样样本,以行向量的形式输入); A=input(); disp(请输入样本的频数,以行矩阵的形式输入); C=input(); disp(请输入均值:); a=input(); disp(请输入显著性水平:); b=input(); n=numel(A);sum=0;jieguo=0;rong=0;o=numel(C); if n=0 for i=1:n sum=sum+A(1,i)*C(1,i); rong=rong+C(1,i); end sun=sum/rong; for j=1:n jieguo=jieg
23、uo+C(1,j)*(A(1,j)-sun)2; end t=(sun-a)*sqrt(rong2-rong)/jieguo) t1=tinv(1-b,rong-1) else if o=t1 disp(该假设检验拒绝H0,接受H1); else if tt1 disp(该假设检验拒绝H1,接受H0); end end else if c=4 clc; disp(方差未知,H0:=0;H1:0); disp(请输入子样样本,以行向量的形式输入); A=input(); disp(请输入样本的频数,以行矩阵的形式输入); C=input(); disp(请输入均值:); a=input(); disp(请输入显著性水平:); b=input(); n=numel(A);sum=0;jieguo=0;rong=0;o=numel(C); if n=0 for i=1:n sum=sum+A(1,i)*C(1,i); rong=rong+C(1,i);