⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 单因素方差分析.cpp

📁 单因素方差分析程序
💻 CPP
字号:
#include<stdio.h>
#include<math.h>
main()
{
	int n[100],r,i,j;
	float x[100][100],y[100],sum,sun,Y,w,W,k,st,s1,s2,F,f,a;
	int m=0;
	printf("请输入水平数r:\n");/*输入样品水平数*/
	scanf("%d",&r);
	//printf("样品水平数r=%d\n",r);
	
	for(i=0;i<r;i++)/*输入每个总体的容量*/
	   {printf("请输入从总体x[%d]中抽取的样本容量n[%d]:\n",i+1,i+1);
		scanf("%d",&n[i]);
	    m=m+n[i];
	   }
    //printf("样品水平数m=%d\n",m);/*输出样品总容量*/
	//for(i=0;i<r;i++)/*输出每个样本容量*/
	//	printf("n[%d]=%d\n",i+1,n[i]);
   
	for(i=0;i<r;i++)/*输入样本数据*/
	{   printf("请输入总体x[%d]的样品:\n",i+1);
		for(j=0;j<n[i];j++)
			scanf("%f",&x[i][j]);
	}
	/*printf("数据表如下:\n"); 
	for(i=0;i<r;i++)
	{   printf("\n");
		for(j=0;j<n[i];j++)
        printf("      %f",x[i][j]);
	}
    printf("\n");*/
 
    for(i=0;i<r;i++)/*求第i个总体的样本均值*/
	{
		sum=0;
		for(j=0;j<n[i];j++)
		sum=sum+x[i][j];
		y[i]=sum/n[i];
	}
	
	/*for(i=0;i<r;i++)
    {
	    printf("\n");
	    printf("总体x[%d]的样本均值为%f",i+1,y[i]);
	}			
	printf("\n");*/	

	sum=0;
	for(i=0;i<r;i++)
	{
		for(j=0;j<n[i];j++)
		sum=sum+x[i][j];
	}
	Y=sum/m;
	//printf("样本总均值为:%f",Y);
    //printf("\n"); 
	
	sum=0;/*组内平方和SA*/
	for(i=0;i<r;i++)
	{
		w=y[i]-Y;
	    W=w*w;
		k=W*n[i];
		sum=sum+k;
	}
	//printf("SA=%f\n",sum);
	s1=sum/(r-1);


	w=W=k=sun=0;/*误差平方和Se*/
	for(i=0;i<r;i++)
	{
		for(j=0;j<n[i];j++)
		{
			w=x[i][j]-y[i];
			W=w*w;
			sun=sun+W;
		}
	}
	//printf("Se=%f\n",sun);
	s2=sun/(m-r);
        
	w=W=k=st=0;
	for(i=0;i<r;i++)
	{
		for(j=0;j<n[i];j++)
		{
			w=x[i][j]-Y;
			W=w*w;
			st=W+st;
		}
	}
    //printf("St=%f\n",st);
    F=s1/s2;
    printf("方差来源        平方和      自由度            均方            F 值\n");
    printf("因 素 A     %10.3f        %d          %10.3f     %10.3f\n",sum,r-1,s1,F);
    printf("误    差    %10.3f        %d          %10.3f\n",sun,m-r,s2);
    printf("总    和    %10.3f        %d\n",st,m-1);
    printf("\n");
	printf("请输入显著水平a=");
	scanf("%f",&a);
	
	printf("请输入在显著水平a=%f下F[%d,%d]:",1-a,r-1,m-r);
	scanf("%f",&f);
	if(F>f)
		printf("拒绝H0!");
	else
		printf("接受H0!");
    
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -