Выбери формат для чтения
Загружаем конспект в формате doc
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Лекция 3
СИСТЕМЫ ЛИНЕЙНЫХ УРАВНЕНИЙ
Задачи электротехники, приводящие к решению систем линейных уравнений
Расчет токов и напряжений в электрических цепях часто сводится к решению системы из n (число неизвестных величин) линейных алгебраических уравнений
(3.1)
или в матричной форме записи:
A X = B, (3.2)
где
A = - матрица коэффициентов;
B=- столбец правых частей; X=- столбец неизвестных.
Используется также и расширенная матрица системы Aр, полученная добавлением столбца n+1 к матрице А. Элементы этого столбца равны соответствующим элементам столбца свободных
членов В - аi,n+1=bi:
Aр = (3.3)
На рис.3.1 изображена разветвленная электрическая схема постоянного тока.
Как правило, в таких схемах при заданных активных сопротивлениях R и электродвижущих силах (ЭДС) Е требуется найти токи I. Одним из способов расчета таких схем является составление уравнений для токов ветвей на основании законов Кирхгофа с последующим их решением [4]. Составим эти уравнения.
По первому закону Кирхгофа - алгебраическая сумма токов подтекающих к узлу, равна нулю (= 0, где k- номер узла), имеем для узла 1:
.
По второму закону Кирхгофа - алгебраическая сумма падений напряжений по любому замкнутому контуру равна алгебраической сумме ЭДС по этому контуру () - выбирая контуры и положительные направления в них как на рис.3.1, получим:
- для контура 1,
- для контура 2.
Получили 3 уравнения для трех неизвестных токов. Приведем данные уравнения к виду (3.1), вводя нулевые коэффициенты при отсутствующих в уравнениях токах по второму закону Кирхгофа и 1 или -1 в уравнении, составленном по первому закону Кирхгофа:
(3.4)
или в матричной форме записи
RI=E. (3.5)
Сравнивая (3.4) c (3.1) видим, что матрица R есть матрица А, столбец Е - столбец В, столбец I - столбец неизвестных X.
R =- матрица сопротивлений;
Е =- столбец ЭДС контуров; I =- столбец токов.
Решив полученную систему относительно неизвестных токов I1,I2 и I3 ,получим требуемый результат. Если один или несколько токов получатся со знаком минус, то это будет означать, что реальное направление тока противоположно принятому направлению при составлении исходных уравнений.
К решению систем линейных алгебраических уравнений приходится прибегать также при численном интегрировании систем обыкновенных дифференциальных уравнений (см. главу 4), с помощью которых решаются задачи динамики (переходные процессы) электрических и электромеханических систем. Для них и для других задач приходится находить определители матриц, обратные матрицы, собственные числа матриц и т. д.[1,5,6,10]. Все это находится с помощью решения систем линейных алгебраических уравнений.
Существуют два класса методов решения систем уравнений: прямые и итерационные. Прямые методы являются универсальными и применяются для решения систем сравнительно невысокого порядка (n < 200 - 250) [1]. Итерационные методы выгодно использовать для систем высокого порядка со слабо заполненными матрицами, то есть с матрицами, у которых относительно мало число ненулевых элементов aij .Такие матрицы могут быть, например, при расчетах сложных электрических цепей, имеющих много узлов, примером которых могут служить системы электроснабжения района, области и т.д. Также в электротехнике стараются с помощью различных приемов сократить число неизвестных, входящих в систему. Например, для схемы на рис.3.1 можно уменьшить число уравнений в системе до двух, если за неизвестные принять токи, якобы протекающие в первом и втором контурах - контурные токи I1к и I2к, а реальные токи ветвей вычислить потом отдельно: I1= I1к , I2=I2к , I3 = - I1к+ I2к [4].
Рассмотрим три метода решения систем линейных алгебраических уравнений - Гаусса, простых итераций и Зейделя, дающих представление о прямых и итерационных методах и наиболее часто применяемых в расчетной практике.
3.2. Метод Гаусса
Метод Гаусса является прямым методом решения систем линейных уравнений. Он наиболее универсален. Ограничений, кроме равенства нулю определителя матрицы А, практически не имеет. При определителе, близком к нулю, мы можем получить плохо обусловленную систему (см. главу 1).
Алгоритм метода состоит из двух этапов [5]. Первый называется прямым ходом. Он заключается в последовательном исключении неизвестных из уравнений, начиная с х1.
Из первого уравнения системы (3.1) выражаем неизвестное х1.
, (3.6),
где ,
что возможно при , в противном случае надо осуществить перестановку уравнений системы. Согласно формуле (3.6), необходимо каждый элемент первой строки расширенной матрицы поделить на диагональный элемент:
. (3.7)
Затем подставляем выражение (3.6) во все остальные уравнения системы, тем самым исключаем х1 из всех уравнений, кроме первого. Элементы расширенной матрицы преобразуем по формуле:
, , . (3.8)
B результате исключения первого неизвестного х1 из всех уравнений все элементы первого столбца преобразованной матрицы будут равны нулю, кроме а11(1)=1.
Неизвестное х2 выразим из второго уравнения системы и исключим из остальных уравнений и т.д. В результате получим систему с верхней треугольной матрицей, у которой все элементы ниже главной диагонали равны нулю.
Запишем выражения для неизвестных хk и преобразования элементов расширенной матрицы системы, которые обобщают
формулы (3.6) - (3.8):
(3.9)
Второй этап решения называется обратным ходом метода Гаусса и состоит в последовательном определении неизвестных хk по первой формуле (3.9) , начиная с неизвестного xn и заканчивая x1.
Точность результатов определяется точностью выполнения арифметических операций при преобразовании матрицы А. Для уменьшения погрешности при делении на диагональный элемент (вторая формула (3.9)) осуществляют перестановку уравнений с целью постановки на диагональ наибольшего по модулю из всех элементов данного столбца. Это называется выбором главного элемента столбца.
Количество арифметических операций в методе Гаусса зависит от размерности системы и примерно равно 2/3n3 [1]. Контроль полученных решений можно провести путем их подстановки в исходную систему и вычисления невязок между правыми и левыми частями уравнения:
. (3.10)
3.3. Программная реализация метода Гаусса
Программный модуль, реализующий метод Гаусса (см. ПРОГРАММУ 3.1 в конце главы), состоит из головной программы Gauss_M и процедуры подпрограммы метода Гаусса - Gauss, которая является автономной и может быть использована без изменений в любой другой программе. Необходимо только согласовать типы параметров и аргументов, что делается в разделе описаний вызывающей программы.
В приведенной программе ввод исходных данных и вывод результатов осуществляется на экран монитора. Программа зациклена на неопределенное число повторений. Для выхода из программы достаточно ввести символ, отличный от цифры.
Во время практических занятий студентам предлагается самостоятельно внести изменения в текст программы для включения операторов, рассчитывающих столбец невязок. Также предлагается рассчитать разветвленную электрическую цепь постоянного тока, включив в программу энергетический критерий контроля результатов расчета - сумма мощностей всех источников ЭДС должна быть равна суммарной мощности, выделяемой в виде тепла во всех сопротивлениях.
.
3.4. Итерационные методы решения систем линейных
уравнений
Для решения системы итерационными методами преобразуем систему от формы (3.1) к виду [5]:
(3.11)
Задав столбец начальных приближений , подставим его в правую часть системы (3.11) и вычислим новые приближения , которые опять подставим в систему (3.11). Таким образом, организуется итерационный процесс, являющийся обобщением метода простых итераций на системы уравнений:
(3.12)
Процесс (3.12) можно изменить, если использовать приближения к решениям, найденные при выполнении текущей итерации. Данное изменение известно как метод Зейделя [1] и, как правило, приводит к ускорению сходимости:
(3.13)
Для сходимости итерационных методов необходимо, чтобы значения диагональных элементов матрицы А системы были преобладающими по абсолютной величине над другими элементами матрицы. Условия сходимости можно обеспечить преобразованием исходной матрицы путем перестановки уравнений и неизвестных.
Методы простых итераций и Зейделя можно применять и к решению систем нелинейных уравнений.
Условием окончания итерационного процесса является:
(3.14)
где - заданная погрешность; k - 1,2,3, ... n.
3.5. Программная реализация итерационных методов
Процедура-подпрограмма, реализующая итерационные методы решения систем линейных уравнений, приведена в конце главы (ПРОГРАММА 3.2).
Типы данных, используемых в процедуре Iteras эквивалентны типам данных, используемых в ПРОГРАММЕ 3.1. К имеющимся операторам ввода следует добавить операторы ввода столбца начальных приближений х10, х20, ..., хn0, выбора метода - Metod, максимального числа итераций - MaxItr, заданной погрешности - Eps. К операторам вывода - вывод числа итераций, за которое достигнута требуемая точность - ColItr. В основной программе следует организовать вызов процедуры по аналогии с ПРОГРАММОЙ 3.1.
Как видно из текста программного модуля, отличие программной реализации метода простых итераций от метода Зейделя состоит в замене х0[i] на х[i] в операторе расчета SumStr. При определении погрешности итераций находится максимальная (ErrMax), которая и служит условием окончания итерационного процесса.
Для иллюстрации условий сходимости итерационных методов была написана демонстрационная программа, позволяющая наблюдать итерационный процесс при графической интерпретации для системы из двух уравнений. Результаты расчетов приведены на рис.3.2-3.7.
Как видно на рис.3.2 и рис.3.3, применение метода Зейделя ускоряет итерационный процесс. В данном случае процесс заканчивается примерно за вдвое меньшее число итераций, чем в методе простых итераций. Из графиков видно, что в методе Зейделя последовательные итерации располагаются на одной из прямых.
.
.
.
.
.
.
Изменение взаимного наклона прямых приводит к изменению характера итерационного процесса. При его увеличении процесс сначала переходит в двухсторонний сходящийся (рис.3.4,3.5) , потом происходит зацикливание, то есть значения переменных будут периодически повторяться (рис.3.6). При большем угле между прямыми процесс становится расходящимся (рис.3.7).
Во время практических занятий предлагается, используя процедуру Gauss и программу Gauss_M, написать и отладить программу вычисления обратной матрицы. Для этого следует воспользоваться соотношением АА-1=Е, где Е - единичная матрица, расписав его поэлементно и приняв в качестве неизвестных элементы аij обратной матрицы А-1.