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

📄 lineasolvebycolum.txt

📁 对于线性非齐次方程组的求解
💻 TXT
字号:
/********************************************************************
	function: getResultW()
	purpose: 列主元法求线性方程组的解
*********************************************************************/
void getResultW(double *A, double *x, double *b, int numP)
{
	int i,j,k;
	int iline, jline, maxline;
	int num_max;
	double scale, temp;
	double sum = 0;
	//消去
	for(i=0; i<numP-1; i++)
	{
		num_max = i;
		iline = i * numP;
		//找主元
		for(j=i+1; j<numP; j++)
		{
			if(A[j*numP+i] > A[num_max*numP+i])
				num_max = j;
		//	if(A[j*numP+i] > A[iline+i])
		//		num_max = j;
		}
		
		if(i != num_max)
		{
			maxline = num_max * numP;
			for(j=i; j<numP; j++)
			{
				temp = A[iline+j]; A[iline+j] = A[maxline+j]; A[maxline+j] = temp;
			}
			temp = b[i]; b[i] = b[num_max]; b[num_max] = temp;
		}
		
		for(j=i+1; j<numP; j++)
		{
			jline = j * numP;
			scale = A[jline+i] / A[iline+i];
			for(k=i; k<numP; k++)
			{
				A[jline+k] -= scale * A[iline+k];
			}
			b[j] -= scale * b[i];
		}
	}
	//回代
	for(i=numP-1; i>=0; i--)
	{
		iline = i * numP;
		for(j=numP-1; j>i; j--)
		{
			sum += A[iline+j] * x[j];
		}
		x[i] = (b[i] - sum) / A[iline+i];
		sum = 0;
	}
}

⌨️ 快捷键说明

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