|
|||
Приложение А. Исходный код ⇐ ПредыдущаяСтр 2 из 2 Приложение А. Исходный код Метод Гаусса: void gauss(const std::vector<std::vector<float>>& matrix_, std::vector<float>& solution) {
std::vector<std::vector<float>> matrix(matrix_); size_t n = matrix.size(); size_t m = n + 1; for (size_t k = 0; k < n; ++k) { float temp = matrix[k][k]; for (size_t j = k; j < m; ++j) { matrix[k][j] /= temp; } for (size_t i = k + 1; i < n; ++i) { temp = matrix[i][k]; for (size_t j = k; j < m; ++j) { matrix[i][j] -= temp * matrix[k][j]; } } } //std::vector<float>& solution solution[n - 1] = matrix[n - 1][m - 1]; for (size_t k = n - 2; k != -1; --k) { float sum = 0; for (size_t j = k + 1; j < n; ++j) { sum += matrix[k][j] * solution[j]; } solution[k] = matrix[k][m - 1] - sum; } return; }
|
|||
|