ВУЗ:
Составители:
Рубрика:
41
if(B[0, i] != 0)
{
isSolved = false;
return;
}
// формирование общего решения для совместной СЛАУ
// путем переноса свободных переменных в правую часть
Matrix res = new Matrix(rang, 1 + n - rang);
for(int i = 0; i < rang; i++)
{
res[i,0] = B[0, i];
for(int j = rang; j < n; j++)
res[i, j - rang + 1] = -A[i, j];
}
x = res;
isSolved = true;
}
Выбор метода для решения СЛАУ осуществляется в функции
Solve(). Если матрица коэффициентов системы является квадратной, то
пользователю предлагается задать метод решения системы: метод Крамера
или с помощью обратной матрицы. Если определитель квадратной матрицы
окажется нулевым, СЛАУ будет решаться методом исключений Жордана-
Гаусса. Для решения СЛАУ с прямоугольной матрицей коэффициентов
применим только метод Жордана-Гаусса.
// функция выбора метода решения системы линейных уравнений
public void Solve()
{
if(m == n)
try
{
// матрица коэффициентов квадратная –
// предоставляется выбор метода решения
// пользователю
Console.WriteLine("Метод Крамера - 1,
С помощью обратной матрицы - 2");
int i = int.Parse(Console.ReadLine());
if(i == 1)
Kramer();
else
InverseMatrix();
}
catch(Exception e)
{
// генерация исключения происходит при
// равенстве нулю определителя матрицы
// коэффициентов. Поэтому осуществляется получение
if(B[0, i] != 0) { isSolved = false; return; } // формирование общего решения для совместной СЛАУ // путем переноса свободных переменных в правую часть Matrix res = new Matrix(rang, 1 + n - rang); for(int i = 0; i < rang; i++) { res[i,0] = B[0, i]; for(int j = rang; j < n; j++) res[i, j - rang + 1] = -A[i, j]; } x = res; isSolved = true; } Выбор метода для решения СЛАУ осуществляется в функции Solve(). Если матрица коэффициентов системы является квадратной, то пользователю предлагается задать метод решения системы: метод Крамера или с помощью обратной матрицы. Если определитель квадратной матрицы окажется нулевым, СЛАУ будет решаться методом исключений Жордана- Гаусса. Для решения СЛАУ с прямоугольной матрицей коэффициентов применим только метод Жордана-Гаусса. // функция выбора метода решения системы линейных уравнений public void Solve() { if(m == n) try { // матрица коэффициентов квадратная – // предоставляется выбор метода решения // пользователю Console.WriteLine("Метод Крамера - 1, С помощью обратной матрицы - 2"); int i = int.Parse(Console.ReadLine()); if(i == 1) Kramer(); else InverseMatrix(); } catch(Exception e) { // генерация исключения происходит при // равенстве нулю определителя матрицы // коэффициентов. Поэтому осуществляется получение 41
Страницы
- « первая
- ‹ предыдущая
- …
- 40
- 41
- 42
- 43
- 44
- …
- следующая ›
- последняя »