ВУЗ:
Составители:
Рубрика:
Объектно-ориентированное программирование на С++
. . .
};
Помимо конструктора класса и дружественных функций
ввода/вывода, класс Slau будет содержать методы решения системы
линейных уравнений различными способами:
• метод Крамера,
• метод решения с помощью обратной матрицы,
• метод исключения Жордана-Гаусса.
// класс, определяющий систему линейных уравнений
class Slau
{
int m; // количество уравнений
int n; // количество переменных
Matrix a; // матрица коэф.
Matrix b; // вектор правой части
Matrix x; // вектор решений
bool isSolved; // признак совместности
int* reoder; // перестановка переменных,
// полученная в методе Жордана-Гаусса
int rang; // ранг матрицы коэффициентов
public:
Slau(int, int); // конструктор
void Solve(); // метод решения
void Kramer(); // метод Крамера
void InverseMatrix(); // метод X=A
-1
B
void JordanGauss (); // метод Жордана-Гаусса
// метод вывода результата
void PrintSolution(ostream&);
// дружественные функции ввода/вывода
friend ostream& operator << (ostream&, Slau&);
friend istream& operator >> (istream&, Slau&);
};
Сначала опишем функции решения системы линейных уравнений
различными методами.
Метод Крамера используется для решения системы линейных
уравнений с квадратной матрицей коэффициентов. Если матрица
коэффициентов СЛАУ является неквадратной, будет генерироваться
исключение NonSquareMatrixException. Для квадратной матрицы
будет вычисляться определитель. Если определитель не равен нулю,
единственное решение системы уравнений определяется по формулам
Крамера:
203
Объектно-ориентированное программирование на С++ . . . }; Помимо конструктора класса и дружественных функций ввода/вывода, класс Slau будет содержать методы решения системы линейных уравнений различными способами: • метод Крамера, • метод решения с помощью обратной матрицы, • метод исключения Жордана-Гаусса. // класс, определяющий систему линейных уравнений class Slau { int m; // количество уравнений int n; // количество переменных Matrix a; // матрица коэф. Matrix b; // вектор правой части Matrix x; // вектор решений bool isSolved; // признак совместности int* reoder; // перестановка переменных, // полученная в методе Жордана-Гаусса int rang; // ранг матрицы коэффициентов public: Slau(int, int); // конструктор void Solve(); // метод решения void Kramer(); // метод Крамера void InverseMatrix(); // метод X=A-1B void JordanGauss (); // метод Жордана-Гаусса // метод вывода результата void PrintSolution(ostream&); // дружественные функции ввода/вывода friend ostream& operator << (ostream&, Slau&); friend istream& operator >> (istream&, Slau&); }; Сначала опишем функции решения системы линейных уравнений различными методами. Метод Крамера используется для решения системы линейных уравнений с квадратной матрицей коэффициентов. Если матрица коэффициентов СЛАУ является неквадратной, будет генерироваться исключение NonSquareMatrixException. Для квадратной матрицы будет вычисляться определитель. Если определитель не равен нулю, единственное решение системы уравнений определяется по формулам Крамера: 203
Страницы
- « первая
- ‹ предыдущая
- …
- 201
- 202
- 203
- 204
- 205
- …
- следующая ›
- последняя »