цикл по обратному ходу в слау
Прошу помочь составить цикл по обратному ходу в методе гаусса(в слау),например 4 на 5 ,и если знаете как , то улучшить. Желательно не при помощи вектор столбцов и тд, т.к я еще начинающий, например как то так : Или подскажите идею как можно это сделать компактнее и легче P.S R для обратной матрицы
cout << "Pryamoi hod" << endl;
for (int d = 0; d < size - 1; d++)//прямой ход
{
for (int i = d + 1; i < size; i++)
{
double tmp = double(A[i][d] / A[d][d]);
for (int j = 0; j < size + 1; j++)
{
A[i][j] = A[i][j] - A[d][j] * tmp;
R[i][j] = R[i][j] - R[d][j] * tmp;
}
}
}
Ответы (1 шт):
Автор решения: Павел Ериков
→ Ссылка
Вот пример обратного хода:
for (int d = size - 1; d >= 0; --d)
{
double tmp = A[d][size];
for (int j = d + 1; j < size; j++)
{
tmp -= A[d][j] * A[j][j];
}
A[d][d] = tmp / A[d][d];
}
По итогу мы получаем матрицу A в которой элементы по диагонали являются значениями x(i).
Я не стал писать комментарии, надеюсь и без них все понятно, но если появятся вопросы, то не стесняйтесь задавать их.