Курсовая работа: Численные методы при решении задач

// Транспонируем F

for (j = 0; j < n; j++) // Цикл по строкам TF

{

for (i = 0; i < yr; i++) // И по её столбцам

{

*(TF + (j * yr + i)) = *(F + (i * n + j));

}

}

// Считаем TMP = TF * F

MatrixMultiply (TF, n, yr, F, n, TMP);

// Далее считаем оперделитель от TMP

if ((dt = Determinant (TMP, n)) == 0)

{

printf ("\nТак, как определитель матрицы TF*F равен 0,\n"

"невозможно посчитать обратную к ним матрицу\n");

free (F); abort();

}

// Составляем обратную матрицу.

for (j = 0; j < n; j++)

{

for (i = 0; i < n; i++)

{

// Берём Минор элемента ij

MMinor (TMP, AC2, n, i, j);

// Знак элемента

flag = ((i + j) % 2 == 0) ? 1. : -1.;

// Сразу транспонирование

*(REV + (i * n) + j) = flag * Determinant (AC2, (n - 1)) / dt;

}

К-во Просмотров: 539
Бесплатно скачать Курсовая работа: Численные методы при решении задач