Например, Бобцов

АЛГОРИТМ УСКОРЕННОГО ПОВТОРНОГО РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ И ЕГО ИСПОЛЬЗОВАНИЕ ПРИ МАТЕМАТИЧЕСКОМ МОДЕЛИРОВАНИИ ЭЛЕКТРОННЫХ УСТРОЙСТВ

М.С. Ревин, Н.С. Савелов
УДК 621.396.6
АЛГОРИТМ УСКОРЕННОГО ПОВТОРНОГО РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ
И ЕГО ИСПОЛЬЗОВАНИЕ ПРИ МАТЕМАТИЧЕСКОМ МОДЕЛИРОВАНИИ ЭЛЕКТРОННЫХ УСТРОЙСТВ
М.С. Ревин, Н.С. Савелов
Излагаются численные эксперименты с разработанной программой, реализующей модификацию метода исключения Гаусса, которая позволяет получить значительные преимущества в скорости вычислений при повторных решениях систем линейных алгебраических уравнений. Приводится анализ нового метода в сравнении с известным методом Шермана–Моррисона. Применение этой модификации для ускорения процесса формирования уравнений состояния позволило разработать микропроцессорную систему, способную в реальном времени контролировать температурный режим работы электротехнического объекта. Ключевые слова: метод, моделирование, эксперименты, уравнения состояния, микропроцессорная система, электротехнический объект.
Введение
Задача повышения эффективности методов математического моделирования является особо актуальной применительно к синтезу и оптимизации различных технических устройств и систем. Математическое моделирование достаточно сложных объектов уже требует десятков часов машинного времени при использовании высокопроизводительной вычислительной техники. Совершенствование методов приводит к существенному сокращению вычислительных затрат на математическое моделирование. При анализе электрических цепей, например, при нахождении различных зависимостей токов от напряжений или от нелинейных сопротивлений, часто необходимо выполнять повторные решения систем линейных алгебраических уравнений (СЛАУ) вида A x = b после изменения матрицы A или столбца b. В подобных задачах при повторных решениях в системе изменяются не все элементы, а лишь некоторые, и решать систему заново в этом случае нецелесообразно, так как это требует больших вычислительных затрат. Для их сокращения часто применяют формулу Шермана–Моррисона [1], которая на порядок уменьшает число арифметических операций, необходимых для нахождения повторного решения, но в определенных случаях указанная модификация требует меньших вычислительных затрат.
Математические основы метода
Перейдем к краткому описанию алгоритма ускоренного повторного решения СЛАУ. Рассмотрим СЛАУ вида A x = b , где A – квадратная действительная невырожденная матрица порядка n; x – столбец неизвестных; b – действительный столбец. Характерной особенностью используемой модификации метода исключения Гаусса является преобразование дополнительной матрицы F, которая в исходном виде является единичной. Используем обозначения: ai – i-ый столбец матрицы А; fi – i-я строка F; F(m),f(m)i – соответственно F и f после m-го изменения, m=0,1,…,n; E – единичная матрица порядка n.
Для изменения матрицы F и определения искомых неизвестных (т.е. неизвестных, подлежащих определению) используются приведенные ниже выражения в предположении, что f (m)m+1 ⋅ am+1 ≠ 0 (в противном случае достаточно выполнить перестановку двух строк матрицы F(m)):

Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2010, № 2(66)

37

АЛГОРИТМ УСКОРЕННОГО ПОВТОРНОГО РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ...

F (0) = E ; f (m+1)i = f (m)i для i = m +1 (при m = 0, 1, …, n-1), а также для i < m +1

(при m = 1, 2, …, n-1) и одновременно при условии, что xi – неискомое; f (m+1)i = f (m)i − ( f (m)i ⋅ am+1 / f (m)m+1 ⋅ am+1) ⋅ f (m)m+1 для остальных i.

Если принять k1 = f (m)i ⋅ am+1 , а k 2 = f (m)m+1 ⋅ am+1 , то

f (m+1)i = f (m)i − k1⋅ ( f (m)m+1 / k 2) ,

xi = ( f (n)i ⋅ b) /( f (n)i ⋅ ai ) (xi – искомое). Ведущей строкой f(n)i для столбца ai названа строка, используемая для изменения

других строк при обращении к ai . Образующей строкой для ai названа cтрока

fio = (1/ f (n)i ⋅ ai ) ⋅ f (n)i .

Пусть для матрицы А ( det A ≠ 0 ) сформирована матрица F, а затем столбец ai та-

кой, что xi – искомое, заменен на столбец a'i , в результате чего А преобразована в A' .

Пусть fio – образующая для ai . При этом fio ⋅ a'i = 0 тогда и только тогда, когда

det A' = 0 . Поэтому для невырожденной А’ искомые неизвестные могут быть определены следующим образом. Пусть имеется другое, кроме xi, искомое xj и fjo – образующая
для аj. Новые значения искомых x'i и x' j определяются из следующих выражений:

fio' = (1/( fio ⋅ a'i )) ⋅ fio , x'i = f 'io ⋅ b ,

f

' jo

=

f jo

− ( f jo ⋅ a'i ) ⋅

fio ,

x' j

=

f ' jo ⋅ b

или

x' j

= xj

− ( f jo ⋅ a'i ) ⋅ x'i .

Подробная реализация алгоритма на конкретном примере изложена в [2].

Результаты экспериментального исследования метода

Обратимся к задаче анализа электрической цепи (рис. 1). Пусть необходимо выяснить, как изменяются токи в цепи при изменении сопротивления r3 в пределах от 0 до 10 кОм с шагом 1 Ом.

Рис. 1. Электрическая цепь
Полная система уравнений Кирхгофа для решения этой задачи имеет следующий вид:
38 Научно-технический вестник Санкт-Петербургского государственного университета
информационных технологий, механики и оптики, 2010, № 2(66)

М.С. Ревин, Н.С. Савелов

⎜⎛ −1 ⎜0

⎜ ⎜

0

⎜ r1

⎜ ⎜

0

⎜0

⎜⎝ r1

1 −1 0
r2 −r2
0 0

0 −1 0
−r3
0
r3
0

1 0 −1 0
r4
0 0

0 1 −1 0 0 0 0

0 0 1 0 0
r6
0

0 0 0 0 0 0 1

⎟⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟⎠



⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝

i1 i2 i3 i4 i5 i6 uj

⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠

⎛⎜ j ⎟⎞

⎜0 ⎟

⎜ ⎜

0

⎟ ⎟

⎜ e1 ⎟

⎜ ⎜

−e4



e5

⎟ ⎟

⎜ e5 ⎟

⎜⎝ e1 ⎠⎟.

Рис. 2. Решение задачи анализа электрической цепи с помощью MathCad 14

Рис. 3. Решение с помощью разработанной программы
Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2010, № 2(66)

39

АЛГОРИТМ УСКОРЕННОГО ПОВТОРНОГО РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ...

В матрице изменяются только два элемента – в 4-й строке, 3-м столбце и в 6-й строке, 3-м столбце. С помощью пакета программ MathCAD 14 и разработанной программы были получены следующие результаты. MathCAD 14 получил все решения при каждом изменении r3 спустя 1 мин. 10 с. Разработанная программа решила задачу за время, меньшее 1 с. Если же усложнить задачу и изменять r3 в пределах от 0 до 1 Мом с шагом 1 Ом, то время решения увеличилось до 8 с. Численные значения решений, полученные с помощью разработанной программы и с помощью пакета программ MathCad 14, во всех случаях совпадали.
Таким образом, разработанная по описанной модификации программа позволяет получить значительные преимущества в скорости вычислений при анализе электрических цепей [3].
Сравнительный анализ формулы Шермана–Моррисона и указанной модификации на примере решения задачи, типичной для анализа электрических цепей, когда в матрице А изменяется только один столбец, приведен в работе [4]. В этой работе получены математические выражения, определяющие число арифметических операций, необходимых для повторного решения при использовании формулы Шермана–Моррисона по алгоритму, описанному в [1], и альтернативного метода. При этом были использованы все потенциальные, не указанные в [1], преимущества формулы Шермана–Моррисона.
Важным преимуществом описанного метода является то, что он позволяет находить значения не всех элементов столбца неизвестных x, а только тех, которые необходимы пользователю, что позволяет значительно снизить вычислительные затраты. Так, при повторном определении одного неизвестного, соответствующего изменяющемуся столбцу, потребуется n умножений, n-1 сложение и 1 деление, т.е. 2n арифметических операций. Для нахождения любого другого неизвестного потребуется 2n+1 умножений, 2n-1 сложение и 1 деление, т.е. 4n+1 арифметических операций. На нахождение реше-
ния по формуле Шермана–Моррисона потребуется n2 + 2n + 1 умножений, 1 деление и
n 2 + n сложений. Всего требуется 2n2 + 3n + 2 арифметических операций, что на порядок больше, чем с помощью модификации.
При определении всех неизвестных алгоритмы равноценны. Но в практических вычислениях часто необходимо определять не все элементы столбца x , а только те, ко-
торые необходимы пользователю. В этом случае описанный метод значительно превосходит формулу Шермана–Моррисона.

Применение метода для моделирования динамических объектов

Описанную модификацию целесообразно использовать и для ускорения процесса

формирования уравнений состояния, т.е. для ускорения процесса моделирования дина-

мических объектов.

Уравнения состояния в виде системы обыкновенных дифференциальных уравне-

ний в форме Коши являются одной из наиболее важных форм представления математи-

ческой модели объектов контроля, управления и диагностики.

Порядок первоначального формирования системы уравнений для переменных со-

стояния был изложен в работе [5].

Матричное уравнение для переменных состояния имеет вид

dx dt

=

A



x

+

B0



v

+

B1



dv dt

+

...Bp



d pv dt p

,

(1)

где A, B0...Bp – действительные матрицы; x – столбец переменных состояния, полу-

ченных из x исключением зависимых элементов, v – столбец независимых величин (то-

ков и напряжений).

40 Научно-технический вестник Санкт-Петербургского государственного университета
информационных технологий, механики и оптики, 2010, № 2(66)

М.С. Ревин, Н.С. Савелов
Применяя алгоритм, основанный на модификации метода Гаусса, можно быстро переформировывать уравнение (1).
На основании описанного алгоритма была разработана микропроцессорная система для контроля температурного режима силового полупроводникового прибора, моделируемого электрической схемой. Эта схема может применяться, в частности, в устройствах индукционной плавки.
Традиционный способ тепловой защиты преобразователя основан на контроле с помощью датчиков температуры охлаждающей среды тиристоров или транзисторов. Вследствие того, что тепловые постоянные времени кристаллов силовых приборов на несколько порядков меньше других постоянных времени, измерение температуры само по себе не способно надежно защитить силовой модуль от больших кратковременных токовых перегрузок.
Тепловую модель тиристора можно представить в виде эквивалентной электрической схемы замещения (рис. 4).

Рис. 4. Тепловая модель кристалла тиристора

Мощностям тепловых потерь в кристалле соответствует ток J, а температуре в характерных точках структуры прибора – напряжения на конденсаторах. Температуре, измеряемой датчиком, соответствует источник ЭДС.
В эквивалентной схеме все сопротивления, за исключением R4, постоянны. Микропроцессорная система обеспечивает измерение R4 и U и производит переформирование уравнений состояния, а затем, на основании численного решения задачи Коши, определяя температуру кристалла силового тиристора.
Для расчета в память микроконтроллера в соответствии с алгоритмом загружается дополнительная матрица F, которая позволяет с использованием минимального числа арифметических операций рассчитать режим работы устройства.
В качестве основы системы использован микроконтроллер AVR фирмы Atmel. Применение разработанного алгоритма в микропроцессорной системе позволило организовать защиту температуры кристалла в режиме реального времени. Моделирование в программе AVR Studio показало, что на расчет температуры кристалла тиристора микропроцессорной системе потребуется около 1,3 мс, что почти в 2 раза меньше наименьшей тепловой постоянной кристалла тиристора, которые лежат в интервале 0,002–0,1 с. Таким образом, можно говорить о том, что разработанная система способна в реальном времени контролировать тепловой режим.

Заключение

Использование описанной модификации метода решения СЛАУ позволяет существенно сократить вычислительные затраты как при предварительном математическом моделировании различных объектов, так и при их моделировании в режиме реального времени. Сравнительный анализ новой модификации метода исключения Гаусса с наилучшим методом для повторного решения СЛАУ – формулой Шермана–Моррисона – показал, что даже в случае использования всех потенциальных преимуществ последней при определении всех неизвестных алгоритмы равноценны. Но в практических вычис-

Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2010, № 2(66)

41

АЛГОРИТМ УСКОРЕННОГО ПОВТОРНОГО РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ...

лениях часто необходимо определять не все элементы столбца x , а только те, которые необходимы пользователю. В этом случае альтернативный метод значительно превосходит формулу Шермана–Моррисона.

Литература

1. Каханер Д., Моулер К., Нэш С. Численные методы и математическое обеспечение: Пер. с англ. – М.: Мир, 1998. – 575 с.
2. Савелов Н.С., Ревин М.С. Численные эксперименты с программным обеспечением для решения систем линейных алгебраических уравнений // Методы и алгоритмы прикладной математики в технике, медицине и экономики: Материалы 7-й междунар. науч.-практ. конф. – Новочеркасск: ЮРГТУ, 2007. – Ч. 1. – С. 85–90.
3. Ревин М.С., Савелов Н.С. Программная реализация метода ускоренного анализа электрических цепей // Труды 50-й научной конференции МФТИ «Современные проблемы фундаментальных и прикладных наук»: Управление и прикладная математика. Том 2. – М.: МФТИ, 2007. –164 с. – С. 137–138.
4. Савелов Н.С., Ревин М.С. Сравнительный анализ формулы Шермана – Моррисона и альтернативного метода для повторного решения систем линейных алгебраических уравнений // Методы и алгоритмы прикладной математики в технике, медицине и экономики: Материалы 8-й междунар. науч.-практ. конф. – Новочеркасск: ЮРГТУ, 2008. – С. 12–15.
5. Савелов Н.С. Полные исходные системы уравнений электронных схем и формирование частично символьных функций // Изв. высш. учеб. заведений. Электромеханика. – 2007. – № 3. – С. 3–6.

Ревин Михаил Сергеевич Савелов Николай Семенович

– Южно-Российский государственный технический университет (Новочеркасский политехнический институт), аспирант, misharevin86@mail.ru
– Южно-Российский государственный технический университет (Новочеркасский политехнический институт), кандидат технических наук, доцент, savelovn@mail.ru

42 Научно-технический вестник Санкт-Петербургского государственного университета
информационных технологий, механики и оптики, 2010, № 2(66)