利用matlab编程进行参数检验

源代码在线查看: 源程序.m

软件大小: 1280 K
上传用户: uimeet
关键词: matlab 编程 行参数
下载地址: 免注册下载 普通下载 VIP

相关代码

				%f1=str2double(get(handles.f1_input,'string'));
				%f2=str2double(get(handles.f2_input,'string'));
				%t=eval(get(handles.t_input,'string'));
				  
				
				
				
				
				function junzhicha( ) %设有两个正态总体其分布分别为N(mu1,sigma1^2)
				                    %和N(mu2,sigma2^2),求两个正态总体均值差的区间估计
				a=[6.683 6.681 6.676 6.678 6.679 6.672];
				b=[6.661 6.661 6.667 6.667 6.664];
				aj=mean(a);  %得到样本均值
				bj=mean(b);
				Sa=var(a);  %得到样本方差
				Sb=var(b);
				n1=length(a);  %得到样本容量
				n2=length(b);
				alpha=0.05;   %给定常数alpha
				u2a=norminv(2*alpha,0,1);  %给定alpha,得到标准正态分布的双侧分位数
				Sy=sqrt(Sa/n1+Sb/n2);  %Sy为样本均值差的标注差
				S=sqrt(((n1-1)*Sa+(n2-1)*Sb)/(n1+n2-2));
				t2a=tinv(2*alpha,n1+n2-2);   %给定alpha,得到t分布的双侧分位数
				sigma=0.2;
				sigma1=0.1;
				sigma2=0.4;
				if sigma~=NaN   %判断sigma是否已知
				    f0=0;
				else
				    f0=1;
				end
				if sigma1~=NaN   %判断sigma1是否已知
				    f1=0;
				else
				    f1=1;
				end
				if sigma2~=NaN   %判断sigma2是否已知
				    f2=0;
				else
				    f2=1;
				end
				if f1==0 & f2==0    %当sigma1及sigma2为已知时
				    Sz=sqrt(sigma1^2/n1+sigma2^2/n2);  %Sz为总体均值差的标注差
				    sh=aj-bj+u2a*Sz
				    xi=aj-bj-u2a*Sz
				elseif f1==1 & f2==1 & n1>=50 & n2>=50  %当igma1与sigma2均为未知且n1与n2均不小于50时
				    sh=aj-bj+u2a*Sy
				    xi=aj-bj-u2a*Sy
				else sigma1==sigma2 & sigma1==sigma & f0==1 & f1==1 & f2==1   %当sigma1与sigma2均为未知,且sigma1^2=sigma2^2=sigma^2时
				    sh=a1-b1+t2a*S*sqrt(1/n1+1/n2)
				    xi=a1-b1-t2a*S*sqrt(1/n1+1/n2)
				end 
				
				
				mu1=6;
				mu2=7;
				if mu1~=NaN    %判断mu1是否已知
				    f3=0
				else
				    f3=1
				end
				if mu2~=NaN     %判断mu2是否已知
				    f4=0
				else
				    f4=1
				end
				F=finv(alpha/2,n2-1,n1-1);   %给定alpha,得到f分布的双侧分位数
				while f3==1 & f4==1
				    sh=F*Sa/Sb
				    xi=Sa/Sb*F
				end			

相关资源