1、置信区间与假设检验matlab程序文件统计学专用程序 -基于MATLAB 7.0开发 -置信区间与假设检验 2013年8月1日 置信区间与假设检验程序【开发目的】众所周知,统计工作面对的数据量繁琐而且庞大,在统计的过程中和计算中容易出错,并统计决定着国民经济的命脉,开发此软件就是为了进行验证统计的准确性以及理论可行性,减少统计工作中的错误,使统计工作者更好地进行工作与学习;所以特意开发此程序来检验统计中的参数估计和假设检验。【开发特色】本软件基于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 jiashejianyan ; else if
3、 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.方差已知,待估参数为u);disp(3.
4、方差未知,待估参数为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.返回主菜单*);disp(*2
5、.已知,对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/0);c=input();if
6、 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; disp( -假设检验与置信区间-
7、); 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(4.方差已知,两个母体,t检验
8、);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(请输入各个子样样本的频数,以行矩阵的形式输入); B=input(); di
9、sp(请输入均值:); 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*); end end else if
10、 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,j); end u=(sum/
11、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(); disp(请输入标准差:);
12、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(请输入样本1的频数,以行矩阵的形式输
13、入); 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); jieguo=jieguo+C(1,i
14、); 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 if o=m&zn for i=1
15、: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(请输入样本1的频数,以行矩阵的形
16、式输入); 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); jieguo=jieguo+C(1
17、,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 if o=m&zn for i
18、=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 uu1 disp(*该假设检验
19、拒绝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=numel(B);sum=0;sun
20、=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:n sun=sun+B(1,j
21、)*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 if abs(u)u1 disp(
22、*该假设检验拒绝H1,接受H0*); end end end endendendendend end end end endenddisp(菜单选项);disp(1.继续运算);disp(2.返回主菜单);disp(3.打开代码);disp(4.退出程序!);p=input( );if p=1 (ujianyan); else if p=2 zhucaidan; else if p=3 open(ujianyan); disp( 菜单选项);disp(1.返回主菜单);disp(2.退出程序!);p=input( ); if p=1 zhucaidan; else if p=2 disp(正在
23、退出,请稍候。); (exit);end endelse if p=4 disp(正在退出,请稍候。); (exit);endendendend Ujianyan1.m :clc;disp( 菜单选项);disp(0.返回主菜单);disp(1.返回上一层);disp(2.退出程序!);disp(3.方差未知,单个母体,t检验);disp(4.方差未知,两个母体,t检验);disp(请进行选择: );c=input();if c=0 zhucaidan;else if c=1 jiashejianyan;else if c=2 exit; else if c=3clc;disp(t检验,方差未知,服从t(n-1));
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1