当前位置:文档之家› 置信区间与假设检验matlab程序文件

置信区间与假设检验matlab程序文件

统计学专用程序---基于MATLAB 7.0开发 ---置信区间与假设检验2013年8月1日置信区间与假设检验程序【开发目的】众所周知,统计工作面对的数据量繁琐而且庞大,在统计的过程中和计算中容易出错,并统计决定着国民经济的命脉,开发此软件就是为了进行验证统计的准确性以及理论可行性,减少统计工作中的错误,使统计工作者更好地进行工作与学习;所以特意开发此程序来检验统计中的参数估计和假设检验。

【开发特色】本软件基于matlab7.0进行运算,对于样本的输入采用行矩阵的形式,并且开发了样本频数输入,对于多样本的输入可以减缓工作量,对于显著性水平本程序自带正态分布函分布函数的计算公式,不用再为查表和计算而苦恼,只需输数,t分布函数,F分布函数,2入显著性水平即可,大大的简化了计算量。

【关键技术】矩阵输入进行频数判断条件循环语句的使用等【程序界面】【程序代码】此程序采用多文件结构,在建立文件时不能改变文件名;以下是各个文件的代码:(Zhucaidan.m):clc;disp('统计学专用');disp('1.假设检验');disp('2.置信区间');disp('3.使用说明');disp('4.打开代码');disp('0.退出程序');disp('请进行选择:');a=input('');if a==0exit;else if a==1jiashejianyan ;else if a==2zhixinqujian ;else if a==3help1;else if a==4open('zhucaidan');disp(' 菜单选项');disp('1.返回主菜单');disp('2.退出程序!');p=input(' ');if p==1zhucaidan;else if p==2disp('正在退出,请稍候。

');(exit);endendendendendendend(Zhixinqujian.m) :clc;disp(' 置信区间');disp(' 菜单选项');disp('0.退出程序!!!');disp('1.返回主菜单');disp('2.方差已知,待估参数为u');disp('3.方差未知,待估参数为u');disp('4.均值已知,待估参数为方差');disp('5.均值未知,待估参数为方差'); disp('请进行选择:');c=input('');if c==0exit;else if c==1zhucaidan;else if c==2uguji;else if c==3uguji1;else if c==4fguji;else if c==5fguji1;endendendendendend(Jiashejianyan.m):clc;disp('*********假设检验**********'); disp('*********菜单选项**********'); disp('********0.退出程序!!!******'); disp('********1.返回主菜单*******'); disp('***2.σ已知,对u进行检验***'); disp('***3.σ未知,对u进行检验***'); disp('***4.u已知,对σ进行检验***'); disp('***5.u未知,对σ进行检验***'); disp('******请进行选择:');c=input('');if c==0exit;else if c==1zhucaidan;else if c==2ujianyan;else if c==3ujianyan1;else if c==4fangcha;else if c==5fangcha1;endendendendendendHelp.m:clc;disp('--假设检验与置信区间--');disp('是否使用帮助(1/0)');c=input('');if c==1clc;disp(' --假设检验与置信区间--');disp('********************帮助与操作说明*************');disp('1.请严格按照说明与提示进行操作,否则可能会出现错误!!');disp('2.对于样本的输入,如果频数都为1时直接回车就可,不必输入!!'); disp('3.版权所有,仿冒必究!!');disp('0.退出说明进入主菜单!!');t=input('');if t==0zhucaidan;else if t~=0exit;endendelse if c==0zhucaidan;else if c~=1|c~=0exit;endendend(Help1.m):clc;disp(' --假设检验与置信区间--');disp('********************帮助与操作说明*************');disp('1.请严格按照说明与提示进行操作,否则可能会出现错误!!');disp('2.对于样本的输入,如果频数都为1时直接回车就可,不必输入!!'); disp('3.版权所有,仿冒必究!!');disp('0.退出说明进入主菜单!!');t=input('');if t==0zhucaidan;else if t~=0exit;endend(Ujianyan.m):clc;disp(' 菜单选项');disp('0.返回主菜单');disp('1.返回上一层');disp('2.退出程序!!!');disp('3.方差已知,单个母体,u检验');disp('4.方差已知,两个母体,t检验');disp('请进行选择: ');c=input('');if c==0zhucaidan;else if c==1jiashejianyan;else if c==2exit;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.H0:μ=μ0;H1:μ≠μ0');disp('请进行选择: ');c=input('');if c==0zhucaidan;else if c==1jiashejianyan;else if c==2exit;else if c==3clc;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==ofor i=1:nsum=sum+A(1,i)*B(1,i);endfor j=1:nsun=sun+B(1,j);endu=(sum/sun-a)*sqrt(sun)/belse if o<nfor i=1:nsum=sum+A(1,i);endu=(sum/n-a)*sqrt(n)/bendendu1=norminv(1-d,0,1)if u>=u1disp('****该假设检验拒绝H0,接受H1****');else if u<u1disp('****该假设检验拒绝H1,接受H0****');endendelse if c==4clc;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==ofor i=1:nsum=sum+A(1,i)*B(1,i);endfor j=1:nsun=sun+B(1,j);endu=(sum/sun-a)*sqrt(sun)/belse if o<nfor i=1:nsum=sum+A(1,i);endu=(sum/n-a)*sqrt(n)/bendendu1=norminv(1-d,0,1)if u<=u1disp('****该假设检验拒绝H0,接受H1****');else if u>u1disp('****该假设检验拒绝H1,接受H0****');endendelse if c==5clc;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==ofor i=1:nsum=sum+A(1,i)*B(1,i);endfor j=1:nsun=sun+B(1,j);endu=(sum/sun-a)*sqrt(sun)/belse if o<nfor i=1:nsum=sum+A(1,i);endu=(sum/n-a)*sqrt(n)/bendendu1=norminv(1-0.5*d,0,1);u1if abs(u)>=u1disp('****该假设检验拒绝H0,接受H1****');else if abs(u)<u1disp('****该假设检验拒绝H1,接受H0****');endendendendendendendendelse if c==4clc;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('');if c==0zhucaidan;else if c==1jiashejianyan;else if c==2exit;else if c==3clc;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);if m==o&&n==zfor i=1:msum=sum+A(1,i)*C(1,i);jieguo=jieguo+C(1,i);endfor j=1:nsun=sun+B(1,j)*D(1,j);jiegua=jiegua+D(1,j);endu=((sum/jieguo)-(sun/jiegua))/(sqrt(((a^2)/jieguo)+((b^2)/jiegua))) else if o<m&&n==zfor i=1:msum=sum+A(1,i);endfor j=1:nsun=sun+B(1,j)*D(1,j);jiegua=jiegua+D(1,j);endu=((sum/m)-(sun/jiegua))/(sqrt(((a^2)/m)+((b^2)/jiegua)))else if o==m&&z<nfor i=1:msum=sum+A(1,i)*C(1,i);jieguo=jieguo+C(1,i);endfor j=1:nsun=sun+B(1,j);endu=((sum/jieguo)-(sun/n))/(sqrt(((a^2)/jieguo)+((b^2)/n)))else if o<m&&z<nfor i=1:msum=sum+A(1,i);endfor j=1:nsun=sun+B(1,j);endu=((sum/m)-(sun/n))/(sqrt(((a^2)/m)+((b^2)/n)))endendendendu1=norminv(1-d,0,1)if u>=u1disp('****该假设检验拒绝H0,接受H1****');else if u<u1disp('****该假设检验拒绝H1,接受H0****');endendelse if c==4clc;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);if m==o&&n==zfor i=1:msum=sum+A(1,i)*C(1,i);jieguo=jieguo+C(1,i);endfor j=1:nsun=sun+B(1,j)*D(1,j);jiegua=jiegua+D(1,j);endu=((sum/jieguo)-(sun/jiegua))/(sqrt(((a^2)/jieguo)+((b^2)/jiegua))) else if o<m&&n==zfor i=1:msum=sum+A(1,i);endfor j=1:nsun=sun+B(1,j)*D(1,j);jiegua=jiegua+D(1,j);endu=((sum/m)-(sun/jiegua))/(sqrt(((a^2)/m)+((b^2)/jiegua)))else if o==m&&z<nfor i=1:msum=sum+A(1,i)*C(1,i);jieguo=jieguo+C(1,i);endfor j=1:nsun=sun+B(1,j);endu=((sum/jieguo)-(sun/n))/(sqrt(((a^2)/jieguo)+((b^2)/n)))else if o<m&&z<nfor i=1:msum=sum+A(1,i);endfor j=1:nsun=sun+B(1,j);endu=((sum/m)-(sun/n))/(sqrt(((a^2)/m)+((b^2)/n)))endendendendu1=norminv(1-d,0,1)if u<=u1disp('****该假设检验拒绝H0,接受H1****');else if u>u1disp('****该假设检验拒绝H1,接受H0****');endendelse if c==5clc;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);if m==o&&n==zfor i=1:msum=sum+A(1,i)*C(1,i);jieguo=jieguo+C(1,i);endfor j=1:nsun=sun+B(1,j)*D(1,j);jiegua=jiegua+D(1,j);endu=((sum/jieguo)-(sun/jiegua))/(sqrt(((a^2)/jieguo)+((b^2)/jiegua))) else if o<m&&n==zfor i=1:msum=sum+A(1,i);endfor j=1:nsun=sun+B(1,j)*D(1,j);jiegua=jiegua+D(1,j);endu=((sum/m)-(sun/jiegua))/(sqrt(((a^2)/m)+((b^2)/jiegua))) else if o==m&&z<nfor i=1:msum=sum+A(1,i)*C(1,i);jieguo=jieguo+C(1,i);endfor j=1:nsun=sun+B(1,j);endu=((sum/jieguo)-(sun/n))/(sqrt(((a^2)/jieguo)+((b^2)/n))) else if o<m&&z<nfor i=1:msum=sum+A(1,i);endfor j=1:nsun=sun+B(1,j);endu=((sum/m)-(sun/n))/(sqrt(((a^2)/m)+((b^2)/n)))endendendendu1=norminv(1-0.5*d,0,1)if abs(u)>=u1disp('****该假设检验拒绝H0,接受H1****');else if abs(u)<u1disp('****该假设检验拒绝H1,接受H0****');endendendendendendendendendendendendenddisp('菜单选项');disp('1.继续运算');disp('2.返回主菜单');disp('3.打开代码');disp('4.退出程序!');p=input(' ');if p==1(ujianyan);else if p==2zhucaidan;else if p==3open('ujianyan');disp(' 菜单选项');disp('1.返回主菜单');disp('2.退出程序!');p=input(' ');if p==1zhucaidan;else if p==2disp('正在退出,请稍候。

相关主题