Kod: Zaznacz cały
1 Algorytm eliminacji Gaussa; wektoryzacja macierzy
void transfMM(double *A , double *B, int dim) {
int ii,i,j,k;
double w;
for (i=1; i<dim; i++)
{
for (ii=i; ii<dim; ii++)
{
w = A[ii*dim+i-1]/ A[(i-1)*dim+i-1];
B[ii] -= w*B[i-1];
for (j=i; j<dim; j++)
A[ii*dim+j] -= w* A[(i-1)*dim+j];
A[ii*dim+i-1] =0; /* <-- niepotrz. */
}
}
}
void revPass_A_X_B(double *A , double *X,
double *B, int dim)
{
int i,j;
for (i=dim-1; i>=0; i--)
{
X[i] = 0; j=i+1;
while(j<dim)
{ X[i]+= A[i*dim+j]*X[j]; j++; }
X[i] = (B[i] - X[i])/A[i*dim+i];
}
}
A co wy o tym sądzicie?
Aha no i nigdy nie spotkałem się z terminem "wektoryzacja macierzy" wiecie co to?