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

📄 uniformdesign.c

📁 本程序计算的是由U18(18/4)表计算混料均匀设计5水平18次试验的情况 具体算法可以参照《正交与均匀试验设计(方开泰
💻 C
字号:
// UniformDesign.cpp : Defines the entry point for the console application.
//本程序计算的是由U18(18/4)表计算混料均匀设计5水平18次试验的情况
#include <stdio.h>
#include <windows.h>
#include <math.h>
/////////////////////////
//#define N 18
//#define S 5
//定义U18(18/4)设计表
static unsigned int u_table[18][4] = 
{
	{1,5,9,7},
	{2,16,16,10},
	{3,13,5,17},
	{4,9,4,1},
	{5,2,14,15},
	{6,18,11,4},
	{7,7,1,13},
	{8,4,17,5},
	{9,11,6,9},
	{10,14,12,12},
	{11,1,7,3},
	{12,10,18,16},
	{13,15,2,6},
	{14,6,10,18},
	{15,12,15,2},
	{16,3,3,11},
	{17,17,8,14},
	{18,8,13,8}
};
///////////////////////////
int main(int argc, char* argv[])
{
	//中间变量
	double c_table[18][4];
	//临时变量
	double cTmp;
	//用于递推的变量
	double g_table[18][6];	
	//用于存储结果
	double x_table[18][5];
	//用于循环计数
	int k,i,j;

	//输出原表u_table
	printf("最初表u_table:\n");
	for (k=0;k<18;k++)
	{
		for (i=0;i<4;i++)
		{			
			printf("%d\t",u_table[k][i]);
		}
		printf("\n");
	}
	//计算并输出c_tabale
	printf("中间表c_table:\n");
	for (k=0; k<18; k++ )
	{
		for (i=0; i<4; i++)
		{			
			c_table[k][i] = (double)((double)u_table[k][i] - 0.5)/18.0;
			printf("%6.5f\t",c_table[k][i]);
		}
		printf("\n");
	}	
	//递推表
	for (k=0; k<18; k++ )
	{
		g_table[k][0] = 1.0;
		g_table[k][5] = 0.0;
		for (j=0; j<5; j++)
		{
			cTmp = pow(c_table[k][j],1.0/(double)(5-j-1));
			g_table[k][j+1] = g_table[k][j] * cTmp;
			x_table[k][j] = g_table[k][j] - g_table[k][j+1];
		}
	}
	//输出递推表
	printf("递推表g_table:\n");
	for (k=0;k<18;k++)
	{
		for (i=0;i<6;i++)
		{			
			printf("%6.5f\t",g_table[k][i]);
		}
		printf("\n");
	}
	printf("最终结果x_table:\n");
	for (k=0;k<18;k++)
	{
		for (i=0;i<5;i++)
		{			
			printf("%6.5f\t",x_table[k][i]);
		}
		printf("\n");
	}
	return 0;
}

⌨️ 快捷键说明

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