置信区间与假设检验matlab程序_第1页
置信区间与假设检验matlab程序_第2页
置信区间与假设检验matlab程序_第3页
置信区间与假设检验matlab程序_第4页
置信区间与假设检验matlab程序_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 版权所有 严禁侵犯 不得用于商业用途统计学专用程序 -基于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('

3、请进行选择:');a=input('');if a=0 exit;else if a=1 jiashejianyan ; 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('正在退出,请稍候。&#

4、39;); (exit);end end end end end endend(Zhixinqujian.m) :clc;disp(' 置信区间');disp(' 菜单选项');disp('0.退出程序!');disp('1.返回主菜单');disp('2.方差已知,待估参数为u');disp('3.方差未知,待估参数为u');disp('4.均值已知,待估参数为方差');disp('5.均值未知,待估参数为方差');disp('请进行选择:');c=

5、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.已知,对u进行检验*'

6、;);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(&#

7、39;-假设检验与置信区间-');disp('是否使用帮助(1/0)');c=input('');if c=1 clc; disp(' -假设检验与置信区间-'); disp('*帮助与操作说明*'); disp('1.请严格按照说明与提示进行操作,否则可能会出现错误!'); disp('2.对于样本的输入,如果频数都为1时直接回车就可,不必输入!'); disp('3.版权所有,仿冒必究!'); disp('0.退出说明进入主菜单!'); t=input(&

8、#39;'); 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(' -假设检验与置信区间-'); disp('*帮助与操作说明*'); disp('1.请严格按照说明与提示进行操作,否则可能会出现错误!'); disp('2.对于样本的输入,如果频数都为1时直接回车就可,不必输入!'); disp('3.版权所有,仿冒必究!'

9、;); 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检验');disp('请进行选择: ');c=i

10、nput('');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('5

11、.H0:=0;H1:0');disp('请进行选择: ');c=input('');if c=0 zhucaidan;else if c=1 jiashejianyan;else if c=2 exit; else if c=3 clc; disp('H0:=0;H1:>0'); disp('请输入子样样本,以行矩阵的形式输入'); A=input(''); disp('请输入各个子样样本的频数,以行矩阵的形式输入'); B=input(''); disp('请

12、输入均值:'); 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<n for i=1:n sum=sum+A(1,

13、i); end u=(sum/n-a)*sqrt(n)/b end end u1=norminv(1-d,0,1) if u>=u1 disp('*该假设检验拒绝H0,接受H1*'); else if u<u1 disp('*该假设检验拒绝H1,接受H0*'); end end else if c=4 clc; disp('H0:=0;H1:<0'); disp('请输入子样样本,以行矩阵的形式输入'); A=input(''); disp('请输入各个子样样本的频数,以行矩阵的形式输入&

14、#39;); 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)/

15、b else if o<n 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 u<=u1 disp('*该假设检验拒绝H0,接受H1*'); else if u>u1 disp('*该假设检验拒绝H1,接受H0*'); end endelse if c=5 clc; disp('H0:=0;H1:0'); disp('请输入子样样本,以行矩阵的形式输入'); A=input('');

16、 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(

17、1,j); end u=(sum/sun-a)*sqrt(sun)/b else if o<n for i=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 if abs(u)>=u1 disp('*该假设检验拒绝H0,接受H1*'); else if abs(u)<u1 disp('*该假设检验拒绝H1,接受H0*'); end end end endendendendend else if c=4 clc;disp('u

18、检验,方差已知,服从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:12');disp('请进行选择: ');c=input('');if c=0 zhucaidan;else if c=1 jiashej

19、ianyan;else if c=2 exit; else if c=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('请输入标

20、准差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); end for j=1:n sun=sun+

21、B(1,j)*D(1,j); jiegua=jiegua+D(1,j); end u=(sum/jieguo)-(sun/jiegua)/(sqrt(a2)/jieguo)+(b2)/jiegua) else if o<m&&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&&z<n for i=

22、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 o<m&&z<n 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

23、 u>=u1 disp('*该假设检验拒绝H0,接受H1*'); else if u<u1 disp('*该假设检验拒绝H1,接受H0*'); end end else if c=4 clc; disp('H0:1=2;H1:1<2'); disp('请输入子样样本1'); A=input(''); disp('请输入样本1的频数,以行矩阵的形式输入'); C=input(''); disp('请输入子样样本2'); B=input('

24、9;); 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

25、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 o<m&&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

26、/m)-(sun/jiegua)/(sqrt(a2)/m)+(b2)/jiegua) else if o=m&&z<n 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 o<m&&z<n for i=1:m sum=sum+A(1,i); end for j=1:n sun=sun+B(1,j); end

27、u=(sum/m)-(sun/n)/(sqrt(a2)/m)+(b2)/n) end end end end u1=norminv(1-d,0,1) if u<=u1 disp('*该假设检验拒绝H0,接受H1*'); else if u>u1 disp('*该假设检验拒绝H1,接受H0*'); end endelse if c=5 clc; disp('H0:1=2;H1:12'); disp('请输入子样样本1'); A=input(''); disp('请输入样本1的频数,以行矩阵的形式输

28、入'); 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);s

29、um=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 o<m&&n=z for i=1:m sum=sum+A(1,i

30、); 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&&z<n 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 o<m&

31、&z<n 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-0.5*d,0,1) if abs(u)>=u1 disp('*该假设检验拒绝H0,接受H1*'); else if abs(u)<u1 disp('*该假设检验拒绝H1,接受H0*'); end end end endendendendend end end end end

32、enddisp('菜单选项');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(

33、9; '); if p=1 zhucaidan; else if p=2 disp('正在退出,请稍候。'); (exit);end endelse if p=4 disp('正在退出,请稍候。'); (exit);endendendend Ujianyan1.m :clc;disp(' 菜单选项');disp('0.返回主菜单');disp('1.返回上一层');disp('2.退出程序!');disp('3.方差未知,单个母体,t检验');disp('4.方差未知

34、,两个母体,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)');disp(' 检验假设选择');disp('0.返回主菜单');disp('1.返回上一层');disp('2.退出程序!');disp('3.H0:=0;H1:>0,');

35、disp('4.H0:=0;H1:<0,');disp('5.H0:=0;H1:0,');disp('请进行选择: ');c=input('');if c=0 zhucaidan;else if c=1 jiashejianyan;else if c=2 exit; else if c=3 clc; disp('方差未知,H0:=0;H1:>0'); disp('请输入子样样本,以行向量的形式输入'); A=input(''); disp('请输入样本的频数,以行

36、矩阵的形式输入'); 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=jieguo+C(1,j)*(A(1,j)-sun)2; end

37、t=(sun-a)*sqrt(rong2-rong)/jieguo) t1=tinv(1-b,rong-1) else if o<n for i=1:n sum=sum+A(1,i); end sun=sum/n; for j=1:n jieguo=jieguo+(A(1,j)-sun)2; end t=(sun-a)*sqrt(n2-n)/jieguo) t1=tinv(1-b,n-1) end end if t>=t1 disp('该假设检验拒绝H0,接受H1'); else if t<t1 disp('该假设检验拒绝H1,接受H0');

38、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

39、;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=jieguo+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<n for i=1:n sum=sum+A(1,i); end sun=sum/n; for j=1:n jieguo=jieguo+(A(1,j)-sun)2; end t=(sun-

40、a)*sqrt(n2-n)/jieguo) t1=tinv(1-b,n-1) end end if t<=t1 disp('该假设检验拒绝H0,接受H1'); else if t>t1 disp('该假设检验拒绝H1,接受H0'); end endelse if c=5 clc; disp('方差未知,H0:=0;H1:0'); disp('请输入子样样本,以行向量的形式输入'); A=input(''); disp('请输入样本的频数,以行矩阵的形式输入'); C=input('

41、;'); 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=jieguo+C(1,j)*(A(1,j)-sun)2; end t=(sun-a)*sqrt(rong2-rong)/

42、jieguo) t1=tinv(1-0.5*b,rong-1) else if o<n for i=1:n sum=sum+A(1,i); end sun=sum/n; for j=1:n jieguo=jieguo+(A(1,j)-sun)2; end t=(sun-a)*sqrt(n2-n)/jieguo) t1=tinv(1-0.5*b,n-1) end end if abs(t)>=t1 disp('该假设检验拒绝H0,接受H1'); else if abs(t)<t1 disp('该假设检验拒绝H1,接受H0'); end end e

43、nd endendendendend else if c=4 clc;disp('t检验,方差未知');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:12');disp('请进行选择: ');c=input('')

44、;if c=0 zhucaidan;else if c=1 jiashejianyan;else if c=2 exit; else if c=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('请输入显著性水平:'); b=input(''); m=numel(A);n=numel(B);sum=0;j

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论