📄 lineasolvebycolum.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 + -