При моделировании экономических задач, таких как задачи управления и планирования производства, определения оптимального размещения оборудования,
Математические модели таких задач представляются линейными уравнениями. Если задача многомерна, то ее математическая модель представляется
Линейные математические модели также используются в нелинейных системах при условии, если эта нелинейная система условно линеаризирована.
В общем виде система линейных уравнений имеет вид:
$$\left\{ \begin{array}{l} a_{11}x_1 + a_{12}x_2 + a_{13}x_3 + a_{14}x_4 + \ldots + a_{1n}x_n = b_1,\\ a_{21}x_1 + a_{22}x_2 + a_{23}x_3 + a_{24}x_4 + \ldots + a_{2n}x_n = b_2,\\ a_{31}x_1 + a_{32}x_2 + a_{33}x_3 + a_{34}x_4 + \ldots + a_{3n}x_n = b_3,\\ \ldots\\ a_{n1}x_1 + a_{n2}x_2 + a_{n3}x_3 + a_{n4}x_4 + \ldots + a_{nn}x_n = b_n, \end{array} \right.$$где
aij - коэффициенты при неизвестных системы,
bi -
xj - неизвестные системы,
$$i=\overline{1,n}$$ - номер строки,
$$j=\overline{1,n}$$ - номер столбца,
n - порядок системы.
В
где
$${A} = \left [\begin{array}{ccc} a_{11} a_{12} \ldots a_{1n}\\ a_{21} a_{22} \ldots a_{2n}\\ \ldots \ldots \ldots \ldots\\ a_{n1} a_{n2} \ldots a_{nn}\\ \end{array} \right] \text{ –матрица коэффициентов системы порядка } {(n \times n)},$$ $$\mathbf{\overline X} = \left[ \begin{array}{ccc} x_1\\ x_2\\ \ldots\\ x_n\\ \end{array} \right] \text{ – вектор неизвестных системы размерностью n},$$ $$\mathbf{\overline B} = \left[ \begin{array}{ccc} b_1\\ b_2\\ \ldots\\ b_n\\ \end{array} \right] \text{ – вектор свободных членов размерностью n}.$$Численные методы решения
Приближенные методы реализуют на ЭВМ нахождение корней с заданной точностью и являются итерационными методами.
Точные методы позволяют получить решение системы за конечное число итераций. К точным методам относятся:
В качестве примера возьмем систему 4 порядка.
$$\left\{ \begin{array}{l} a_{11}^{(0)}x_1 + a_{12}^{(0)}x_2 + a_{13}^{(0)}x_3 + a_{14}^{(0)}x_4 = b_1^{(0)},\\ a_{21}^{(0)}x_1 + a_{22}^{(0)}x_2 + a_{23}^{(0)}x_3 + a_{24}^{(0)}x_4 = b_2^{(0)},\\ a_{31}^{(0)}x_1 + a_{32}^{(0)}x_2 + a_{33}^{(0)}x_3 + a_{34}^{(0)}x_4 = b_3^{(0)},\\ a_{41}^{(0)}x_1 + a_{42}^{(0)}x_2 + a_{43}^{(0)}x_3 + a_{44}^{(0)}x_4 = b_4^{(0)}, \end{array} \right.$$Прямой ход. На первом шаге прямого хода (к=1) находим x1 из первого уравнения системы (9.1).
$$a_{11}^{(0)}$$ - ведущий элемент первой строки.
Если $$a_{11}^{(0)} \neq 0$$, то
$$x_1= - \frac {a_{12}^{(0)}}{a_{11}^{(0)}} x_2 - \frac {a_{13}^{(0)}}{a_{11}^{(0)}} x_3 - \frac {a_{14}^{(0)}}{a_{11}^{(0)}} x_4 + \frac {b_1^{(0)}}{a_{11}^{(0)}},$$Обозначим:
$$\frac {a_{12}^{(0)}}{a_{11}^{(0)}} = a_{12}^{(1)}; \frac {a_{13}^{(0)}}{a_{11}^{(0)}} = a_{13}^{(1)}; \frac {a_{14}^{(0)}}{a_{11}^{(0)}} = a_{14}^{(1)}; \frac {b_1^{(0)}}{a_{11}^{(0)}} = b_1^{(1)}.$$Подставляя (9.3) в (9.2), получим
$$x_1 = -a_{12}^{(1)}x_2 - a_{13}^{(1)}x_3 - a_{14}^{(1)}x_4 + b_1^{(1)},$$где
$$a_{1j}^{(1)} = \frac{a_{1j}^{(0)}}{a_{11}^{(0)}}, j=2,3,4 = \overline{(k+1),n}\\ b_1^{(1)} = \frac{b_1^{(0)}}{a_{11}^{(0)}}.$$Подставляем (9.4) во 2, 3 и 4 уравнение системы (9.1), получим:
$$\left\{ \begin{array}{l} (a_{22}^{(0)} - a_{21}^{(0)} \cdot a_{12}^{(1)}) x_2 + (a_{23}^{(0)} - a_{21}^{(0)} \cdot a_{13}^{(1)}) x_3 + (a_{24}^{(0)} - a_{21}^{(0)} \cdot a_{14}^{(1)}) x_4 = b_2^{(0)} - a_{21}^{(0)}\cdot b_1^{(1)},\\ (a_{32}^{(0)} - a_{31}^{(0)} \cdot a_{12}^{(1)}) x_2 + (a_{33}^{(0)} - a_{31}^{(0)} \cdot a_{13}^{(1)}) x_3 + (a_{34}^{(0)} - a_{31}^{(0)} \cdot a_{14}^{(1)}) x_4 = b_3^{(0)} - a_{31}^{(0)}\cdot b_1^{(1)},\\ (a_{42}^{(0)} - a_{41}^{(0)} \cdot a_{12}^{(1)}) x_2 + (a_{43}^{(0)} - a_{41}^{(0)} \cdot a_{13}^{(1)}) x_3 + (a_{44}^{(0)} - a_{41}^{(0)} \cdot a_{14}^{(1)}) x_4 = b_4^{(0)} - a_{41}^{(0)}\cdot b_1^{(1)}, \end{array} \right.$$Обозначив коэффициенты при неизвестных полученной системы через $$a_{ij}^{(1)}$$, а
где
$$a_{ij}^{(1)} = a_{ij}^{(0)} - a_{il}^{(0)} \cdot a_{lj}^{(1)},\\ b_i^{(1)} =b_i^{(0)} -a_{il}^{(0)} b_l^{(1)},\\ i=\overline{(k+1),n}; j=\overline{(k+1),n}.$$Таким образом, в результате выполнения первого шага прямого хода исходная система (9.1) n-го порядка преобразована к совокупности уравнения (9.4) и n-1.
На втором шаге прямого хода (к=2) из первого уравнения системы (9.5) находим x2.
$$a_{22}^{(1)}$$ -ведущий элемент первой строки системы (9.5).
Если $$a_{22}^{(1)} \neq 0$$, то из первого уравнения системы (9.5) имеем:
$$x_2= - a_{23}^{(2)}x_3 - a_{24}^{(2)}x_4 + b_2^{(2)},$$где
$$a_{2j}^{(2)} = a_{2j}^{(1)}/ a_{22}^{(1)},\\ b_2^{(2)} = b_2^{(1)}/ a_{22}^{(1)}.\\ j=3,4=\overline{(k+1),n}$$Подставив выражение (9.6) во второе и третье уравнения системы (9.5), получим новую n-2.
где
$$a_{ij}^{(2)} = a_{ij}^{(1)} - a_{i2}^{(1)} \cdot a_{2j}^{(2)}, \\b_i^{(2)} = b_i^{(1)} - a_{i2}^{(1)}b_2^{(2)},\\ i=\overline{(k+1),n}; j=\overline{(k+1),n}.$$Таким образом, в результате выполнения второго шага прямого хода исходная система (9.1) преобразована к совокупности уравнений (9.4), (9.6) и n-2.
На третьем шаге прямого хода (к=3) из системы (9.7) находим x3.
$$a_{33}^{(2)}$$ - ведущий элемент системы (9.7).
Если $$a_{33}^{(2)} \neq 0$$, то из первого уравнения системы (9.7) имеем:
$$x_3= -a_{34}^{(3)}x_4 + b_3^{(3)},$$где
$$a_{3j}^{(3)} = a_{3j}^{(2)}/ a_{33}^{(2)},\\ b_3^{(3)} = b_3^{(2)}/ a_{33}^{(2)},\\ j=4=\overline{(k+1),n}$$Подставив выражение (9.8) для x3 во второе уравнение системы (9.7) получим:
где
$$a_{ij}^{(3)} = a_{ij}^{(2)} - a_{i3}^{(2)} \cdot a_{3j}^{(3)},\\ b_i^{(3)} = b_i^{(2)} - a_{i3}^{(2)} \cdot a_{3j}^{(3)},\\ i=\overline{(k+1),n}; j=\overline{(k+1),n}.$$На последнем шаге прямого хода, если $$a_{44}^{(3)} \neq 0,$$ то из уравнения (9.9) имеем:
$$x_4 = b_4^{(4)},$$где
$$b_4^{(4)} = b_4^{(3)}/ a_{44}^{(3)}.$$В результате выполнения всех шагов прямого хода исходная система (9.1) приводится к системе треугольного вида, полученной объединением уравнений (9.4), (9.6), (9.8), (9.10):
$$\left\{ \begin{array}{l} x_1= -a_{12}^{(1)}x_2 - a_{13}^{(1)}x_3 - a_{14}^{(1)}x_4 + b_1^{(1)},\\ x_2= -a_{23}^{(2)}x_3 - a_{24}^{(2)}x_4 + b_2^{(2)},\\ x_3= -a_{34}^{(3)}x_4 + b_3^{(3)},\\ x_4= b_4^{(4)}. \end{array} \right.$$При построении алгоритма прямого хода вычисление организуем в цикле по шагам, т.е. $$k=\overline{1,(n-1)}$$.
Последний n-й шаг прямого хода выведем из цикла т.к. здесь реализуется только одно вычисление
$$b_n=\frac{b_n}{a_{nn}}.$$В процессе выполнения всех шагов прямого хода все преобразования коэффициентов и
где
$$k=\overline{1,(n-1)}$$ – номер шага прямого хода,
$$i=\overline{(k+1),n}$$ - номер уравнения систем (9.5), (9.7)
$$j=\overline{(k+1),n}$$
В процессе обратного хода из системы (9.12) неизвестные находятся в обратном порядке. Значение корня х4 находят из последнего уравнения системы (9.12). Далее х4 используется для отыскания корня х3 из 3-го уравнения, далее х3 и х4 используются отыскания х2 из 2-го уравнения системы (9.12), и, наконец, х2, х3 и х4 используются для отыскания х1 из 1-го уравнения системы (9.12).
Все вычисления обратного хода проводим в цикле по i, где
$$i=\overline{(n-1)},1$$ по рекуррентным формулам:
$$b_i={b_i – x_j \cdot a_{ij}} , \\ \overline i=(n-1),\overline {1,j}=(i+1),n$$
xi= bi.
Рассмотренный выше простейший вариант akk какой-либо строки окажется равным нулю, то этот метод формально непригоден, хотя система может иметь единственное решение. Из этих соображений в схеме алгоритма добавлен поиск ненулевого ведущего элемента.
На рисунке 9.1 представлена укрупнённая схема алгоритма (блок-схема)
(рис 9.1) Укрупнённая схема алгоритма (блок-схема) метода Гаусса
Блок 2. С помощью двух вложенных циклов с управляющими переменными i=1,n и j=1,k организуем ввод коэффициентов ai,j и bi исходной системы. Для того, чтобы в дальнейшем можно было выполнить в блоке 9 проверку результата, в алгоритме предусмотрено сохранение значений ai,j и bi исходной системы с помощью переприсвоений: cij=aij и di=bi
(рис 9.2)
Блок 3. Организуем цикл по k, внутри которого производится вычисление по всем шагам прямого хода. Последний п-й шаг прямого хода выводим из цикла.
Блок 4. На каждом шаге прямого хода выполняем поиск ненулевого ведущего элемента.
(рис 9.3)
Поиск ненулевого ведущего элемента ведётся в следующем порядке:
а) На каждом k-ом шаге прямого хода ведущий элемент каждой строки сравнивается с нулём;
б) Если в k-ой строке имеется нулевой ведущий элемент, то в k-ом столбце в цикле осуществляется поиск ненулевого элемента.
в) Если в какой-то строке kn такой ненулевой элемент найден, то строки kn и k поэлементно, в цикле по k1=(k+1),n, меняем местами. Для перестановки элементов используется рабочая переменная R.
г) Если ненулевой ведущий элемент не найден, то коду ошибки kо присваиваем значение 1 и расчёт прекращается.
Блок 5 - шаг прямого хода. На каждом шаге прямого хода проводим исключение неизвестных путём преобразования коэффициентов и
(рис 9.4)
Блок 6. В этом блоке выведем из цикла по k последний шаг прямого хода, т.к. на этом шаге не нужны преобразования коэффициентов и
xn=bn/an,n
Блок 7 - обратный ход. В процессе обратного хода i=(n-1),1,-1 находим неизвестные системы по рекуррентной формуле
bi= bi - xj.ai,j , i=(n-1),1, j=(n+1),n.
При этом в цикле по j=(i+1),n использован приём последовательного вычитания xj.ai,j из bi,после чего вводится переприсвоение bi =хi.
(рис 9.5)
Блок 9 - проверка результата. В этом блоке подставляя значения полученных неизвестных в исходную систему и используя сохранённые значения ci,j и di, проводим проверку решения задачи по формуле
Если корни системы найдены, то Fi – это число, близкое к нулю.
Блок 9 в алгоритме метода Гаусса рекомендуется использовать только в процессе отладки метода.
В дальнейшем, при использовании метода Гаусса при решении различных прикладных задач, особенно в тех случаях, когда метод Гаусса используется внутри другого метода, блок 9 можно опустить, а в блоке 2 при вводе данных исходные значения
(рис 9.6)
При моделировании экономических задач, таких как задачи управления и планирования производства, определения оптимального размещения оборудования,
Математические модели таких задач представляются линейными уравнениями. Если задача многомерна, то ее математическая модель представляется
Линейные математические модели также используются в нелинейных системах при условии, если эта нелинейная система условно линеаризирована.
В общем виде система линейных уравнений имеет вид:
$$\left\{ \begin{array}{l} a_{11}x_1 + a_{12}x_2 + a_{13}x_3 + a_{14}x_4 + \ldots + a_{1n}x_n = b_1,\\ a_{21}x_1 + a_{22}x_2 + a_{23}x_3 + a_{24}x_4 + \ldots + a_{2n}x_n = b_2,\\ a_{31}x_1 + a_{32}x_2 + a_{33}x_3 + a_{34}x_4 + \ldots + a_{3n}x_n = b_3,\\ \ldots\\ a_{n1}x_1 + a_{n2}x_2 + a_{n3}x_3 + a_{n4}x_4 + \ldots + a_{nn}x_n = b_n, \end{array} \right.$$где
aij - коэффициенты при неизвестных системы,
bi -
xj - неизвестные системы,
$$i=\overline{1,n}$$ - номер строки,
$$j=\overline{1,n}$$ - номер столбца,
n - порядок системы.
В
где
$${A} = \left [\begin{array}{ccc} a_{11} a_{12} \ldots a_{1n}\\ a_{21} a_{22} \ldots a_{2n}\\ \ldots \ldots \ldots \ldots\\ a_{n1} a_{n2} \ldots a_{nn}\\ \end{array} \right] \text{ –матрица коэффициентов системы порядка } {(n \times n)},$$ $$\mathbf{\overline X} = \left[ \begin{array}{ccc} x_1\\ x_2\\ \ldots\\ x_n\\ \end{array} \right] \text{ – вектор неизвестных системы размерностью n},$$ $$\mathbf{\overline B} = \left[ \begin{array}{ccc} b_1\\ b_2\\ \ldots\\ b_n\\ \end{array} \right] \text{ – вектор свободных членов размерностью n}.$$Численные методы решения
Приближенные методы реализуют на ЭВМ нахождение корней с заданной точностью и являются итерационными методами.
Точные методы позволяют получить решение системы за конечное число итераций. К точным методам относятся:
В качестве примера возьмем систему 4 порядка.
$$\left\{ \begin{array}{l} a_{11}^{(0)}x_1 + a_{12}^{(0)}x_2 + a_{13}^{(0)}x_3 + a_{14}^{(0)}x_4 = b_1^{(0)},\\ a_{21}^{(0)}x_1 + a_{22}^{(0)}x_2 + a_{23}^{(0)}x_3 + a_{24}^{(0)}x_4 = b_2^{(0)},\\ a_{31}^{(0)}x_1 + a_{32}^{(0)}x_2 + a_{33}^{(0)}x_3 + a_{34}^{(0)}x_4 = b_3^{(0)},\\ a_{41}^{(0)}x_1 + a_{42}^{(0)}x_2 + a_{43}^{(0)}x_3 + a_{44}^{(0)}x_4 = b_4^{(0)}, \end{array} \right.$$Прямой ход. На первом шаге прямого хода (к=1) находим x1 из первого уравнения системы (9.1).
$$a_{11}^{(0)}$$ - ведущий элемент первой строки.
Если $$a_{11}^{(0)} \neq 0$$, то
$$x_1= - \frac {a_{12}^{(0)}}{a_{11}^{(0)}} x_2 - \frac {a_{13}^{(0)}}{a_{11}^{(0)}} x_3 - \frac {a_{14}^{(0)}}{a_{11}^{(0)}} x_4 + \frac {b_1^{(0)}}{a_{11}^{(0)}},$$Обозначим:
$$\frac {a_{12}^{(0)}}{a_{11}^{(0)}} = a_{12}^{(1)}; \frac {a_{13}^{(0)}}{a_{11}^{(0)}} = a_{13}^{(1)}; \frac {a_{14}^{(0)}}{a_{11}^{(0)}} = a_{14}^{(1)}; \frac {b_1^{(0)}}{a_{11}^{(0)}} = b_1^{(1)}.$$Подставляя (9.3) в (9.2), получим
$$x_1 = -a_{12}^{(1)}x_2 - a_{13}^{(1)}x_3 - a_{14}^{(1)}x_4 + b_1^{(1)},$$где
$$a_{1j}^{(1)} = \frac{a_{1j}^{(0)}}{a_{11}^{(0)}}, j=2,3,4 = \overline{(k+1),n}\\ b_1^{(1)} = \frac{b_1^{(0)}}{a_{11}^{(0)}}.$$Подставляем (9.4) во 2, 3 и 4 уравнение системы (9.1), получим:
$$\left\{ \begin{array}{l} (a_{22}^{(0)} - a_{21}^{(0)} \cdot a_{12}^{(1)}) x_2 + (a_{23}^{(0)} - a_{21}^{(0)} \cdot a_{13}^{(1)}) x_3 + (a_{24}^{(0)} - a_{21}^{(0)} \cdot a_{14}^{(1)}) x_4 = b_2^{(0)} - a_{21}^{(0)}\cdot b_1^{(1)},\\ (a_{32}^{(0)} - a_{31}^{(0)} \cdot a_{12}^{(1)}) x_2 + (a_{33}^{(0)} - a_{31}^{(0)} \cdot a_{13}^{(1)}) x_3 + (a_{34}^{(0)} - a_{31}^{(0)} \cdot a_{14}^{(1)}) x_4 = b_3^{(0)} - a_{31}^{(0)}\cdot b_1^{(1)},\\ (a_{42}^{(0)} - a_{41}^{(0)} \cdot a_{12}^{(1)}) x_2 + (a_{43}^{(0)} - a_{41}^{(0)} \cdot a_{13}^{(1)}) x_3 + (a_{44}^{(0)} - a_{41}^{(0)} \cdot a_{14}^{(1)}) x_4 = b_4^{(0)} - a_{41}^{(0)}\cdot b_1^{(1)}, \end{array} \right.$$Обозначив коэффициенты при неизвестных полученной системы через $$a_{ij}^{(1)}$$, а
где
$$a_{ij}^{(1)} = a_{ij}^{(0)} - a_{il}^{(0)} \cdot a_{lj}^{(1)},\\ b_i^{(1)} =b_i^{(0)} -a_{il}^{(0)} b_l^{(1)},\\ i=\overline{(k+1),n}; j=\overline{(k+1),n}.$$Таким образом, в результате выполнения первого шага прямого хода исходная система (9.1) n-го порядка преобразована к совокупности уравнения (9.4) и n-1.
На втором шаге прямого хода (к=2) из первого уравнения системы (9.5) находим x2.
$$a_{22}^{(1)}$$ -ведущий элемент первой строки системы (9.5).
Если $$a_{22}^{(1)} \neq 0$$, то из первого уравнения системы (9.5) имеем:
$$x_2= - a_{23}^{(2)}x_3 - a_{24}^{(2)}x_4 + b_2^{(2)},$$где
$$a_{2j}^{(2)} = a_{2j}^{(1)}/ a_{22}^{(1)},\\ b_2^{(2)} = b_2^{(1)}/ a_{22}^{(1)}.\\ j=3,4=\overline{(k+1),n}$$Подставив выражение (9.6) во второе и третье уравнения системы (9.5), получим новую n-2.
где
$$a_{ij}^{(2)} = a_{ij}^{(1)} - a_{i2}^{(1)} \cdot a_{2j}^{(2)}, \\b_i^{(2)} = b_i^{(1)} - a_{i2}^{(1)}b_2^{(2)},\\ i=\overline{(k+1),n}; j=\overline{(k+1),n}.$$Таким образом, в результате выполнения второго шага прямого хода исходная система (9.1) преобразована к совокупности уравнений (9.4), (9.6) и n-2.
На третьем шаге прямого хода (к=3) из системы (9.7) находим x3.
$$a_{33}^{(2)}$$ - ведущий элемент системы (9.7).
Если $$a_{33}^{(2)} \neq 0$$, то из первого уравнения системы (9.7) имеем:
$$x_3= -a_{34}^{(3)}x_4 + b_3^{(3)},$$где
$$a_{3j}^{(3)} = a_{3j}^{(2)}/ a_{33}^{(2)},\\ b_3^{(3)} = b_3^{(2)}/ a_{33}^{(2)},\\ j=4=\overline{(k+1),n}$$Подставив выражение (9.8) для x3 во второе уравнение системы (9.7) получим:
где
$$a_{ij}^{(3)} = a_{ij}^{(2)} - a_{i3}^{(2)} \cdot a_{3j}^{(3)},\\ b_i^{(3)} = b_i^{(2)} - a_{i3}^{(2)} \cdot a_{3j}^{(3)},\\ i=\overline{(k+1),n}; j=\overline{(k+1),n}.$$На последнем шаге прямого хода, если $$a_{44}^{(3)} \neq 0,$$ то из уравнения (9.9) имеем:
$$x_4 = b_4^{(4)},$$где
$$b_4^{(4)} = b_4^{(3)}/ a_{44}^{(3)}.$$В результате выполнения всех шагов прямого хода исходная система (9.1) приводится к системе треугольного вида, полученной объединением уравнений (9.4), (9.6), (9.8), (9.10):
$$\left\{ \begin{array}{l} x_1= -a_{12}^{(1)}x_2 - a_{13}^{(1)}x_3 - a_{14}^{(1)}x_4 + b_1^{(1)},\\ x_2= -a_{23}^{(2)}x_3 - a_{24}^{(2)}x_4 + b_2^{(2)},\\ x_3= -a_{34}^{(3)}x_4 + b_3^{(3)},\\ x_4= b_4^{(4)}. \end{array} \right.$$При построении алгоритма прямого хода вычисление организуем в цикле по шагам, т.е. $$k=\overline{1,(n-1)}$$.
Последний n-й шаг прямого хода выведем из цикла т.к. здесь реализуется только одно вычисление
$$b_n=\frac{b_n}{a_{nn}}.$$В процессе выполнения всех шагов прямого хода все преобразования коэффициентов и
где
$$k=\overline{1,(n-1)}$$ – номер шага прямого хода,
$$i=\overline{(k+1),n}$$ - номер уравнения систем (9.5), (9.7)
$$j=\overline{(k+1),n}$$
В процессе обратного хода из системы (9.12) неизвестные находятся в обратном порядке. Значение корня х4 находят из последнего уравнения системы (9.12). Далее х4 используется для отыскания корня х3 из 3-го уравнения, далее х3 и х4 используются отыскания х2 из 2-го уравнения системы (9.12), и, наконец, х2, х3 и х4 используются для отыскания х1 из 1-го уравнения системы (9.12).
Все вычисления обратного хода проводим в цикле по i, где
$$i=\overline{(n-1)},1$$ по рекуррентным формулам:
$$b_i={b_i – x_j \cdot a_{ij}} , \\ \overline i=(n-1),\overline {1,j}=(i+1),n$$
xi= bi.
Рассмотренный выше простейший вариант akk какой-либо строки окажется равным нулю, то этот метод формально непригоден, хотя система может иметь единственное решение. Из этих соображений в схеме алгоритма добавлен поиск ненулевого ведущего элемента.
На рисунке 9.1 представлена укрупнённая схема алгоритма (блок-схема)
(рис 9.1) Укрупнённая схема алгоритма (блок-схема) метода Гаусса
Блок 2. С помощью двух вложенных циклов с управляющими переменными i=1,n и j=1,k организуем ввод коэффициентов ai,j и bi исходной системы. Для того, чтобы в дальнейшем можно было выполнить в блоке 9 проверку результата, в алгоритме предусмотрено сохранение значений ai,j и bi исходной системы с помощью переприсвоений: cij=aij и di=bi
(рис 9.2)
Блок 3. Организуем цикл по k, внутри которого производится вычисление по всем шагам прямого хода. Последний п-й шаг прямого хода выводим из цикла.
Блок 4. На каждом шаге прямого хода выполняем поиск ненулевого ведущего элемента.
(рис 9.3)
Поиск ненулевого ведущего элемента ведётся в следующем порядке:
а) На каждом k-ом шаге прямого хода ведущий элемент каждой строки сравнивается с нулём;
б) Если в k-ой строке имеется нулевой ведущий элемент, то в k-ом столбце в цикле осуществляется поиск ненулевого элемента.
в) Если в какой-то строке kn такой ненулевой элемент найден, то строки kn и k поэлементно, в цикле по k1=(k+1),n, меняем местами. Для перестановки элементов используется рабочая переменная R.
г) Если ненулевой ведущий элемент не найден, то коду ошибки kо присваиваем значение 1 и расчёт прекращается.
Блок 5 - шаг прямого хода. На каждом шаге прямого хода проводим исключение неизвестных путём преобразования коэффициентов и
(рис 9.4)
Блок 6. В этом блоке выведем из цикла по k последний шаг прямого хода, т.к. на этом шаге не нужны преобразования коэффициентов и
xn=bn/an,n
Блок 7 - обратный ход. В процессе обратного хода i=(n-1),1,-1 находим неизвестные системы по рекуррентной формуле
bi= bi - xj.ai,j , i=(n-1),1, j=(n+1),n.
При этом в цикле по j=(i+1),n использован приём последовательного вычитания xj.ai,j из bi,после чего вводится переприсвоение bi =хi.
(рис 9.5)
Блок 9 - проверка результата. В этом блоке подставляя значения полученных неизвестных в исходную систему и используя сохранённые значения ci,j и di, проводим проверку решения задачи по формуле
Если корни системы найдены, то Fi – это число, близкое к нулю.
Блок 9 в алгоритме метода Гаусса рекомендуется использовать только в процессе отладки метода.
В дальнейшем, при использовании метода Гаусса при решении различных прикладных задач, особенно в тех случаях, когда метод Гаусса используется внутри другого метода, блок 9 можно опустить, а в блоке 2 при вводе данных исходные значения
(рис 9.6)
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.