DU0Д = W-1(U0Д) • ¦(U0Д)
Рис. 9
Для устранения неоправданного роста ¦(U1Д) переполнения разрядной сетки ЭВМ в случае экспоненциальных нелинейностей существует несколько способов [l,2]:
а) введение ограничений на изменение напряжения и тока диодов:
Iд £ Iд макс , Uд £ Uд макс
6) линеаризация диодных характеристик после Uд макс, т.е. применение соотношений:
ì Iо•(eUд/jт -1) при Uд £ Uд макс = Uдм
Iд= í
î Iо•(eUдм/jт -1)•(1+(Uд-Uдм)/ jТ) при Uд > Uдм
в) использование вспомогательных соотношений - определение поправки, например, при DU >0 по формуле:
DUкД = jТ •Ln(1+DUкД / jТ)
где DUкД - поправка, вычисленная по обычной итерационной схеме Ньютона. Эти идеи переносимы и на другие классы нелинейных функций.
МЕТОДЫ РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ ПРИМЕНЯЕМЫХ ДЛЯ АНАЛИЗА СХЕМ.
При расчете статического режима методом Ньютона (cм. (33)) возникает необходимость решения, системы линейных алгебраических уравнений на каждой итерации. Численные методы решения систем линейных уравнений делятся на две группы:
1) точные (прямые) методы
2) итерационные.
Точные методы дают решение системы за конечное число арифметических операций. Если все операции выполняются точно (без ошибок округления), то решение заданной системы также получается точным.
Итерационные методы служат, как правило, для итерационного улучшения решений, получаемых прямыми методами. Итерационные методы являются приближенными. Они дают решение системы как предел последовательных приближений, вычисляемых некоторым единообразным процессом (например), рассмотренный метод Ньютона, метод простой итерации, метод Некрасова, метод Зейделя и др. [4,5].
Наиболее простой среди точных методов - метод Гаусса [4,5]. Он основан на идее исключения неизвестных, в результате которого заданная система уравнений
W•DХ=¦ или А•Х=В
т.е.
а11•х1+а12•х2+а13•х3+……а1n•хn=b1
а21•х1+а22•х2+а23•х3+……а2n•хn=b2 (37)
………………………………………
аn1•х1+ аn2•х2+ аn3•х3+……аnn•хn=bn
преобразуется в эквивалентную ей систему о верхней треугольной матрицей, решение которой уже не представляет труда. Метод Гаусса может быть реализован следующим образом. Предположим, что а11¹0 и разделим первое уравнение системы (37) на коэффициент а11, называемый ведущим для первого шага,. Затем умножим последовательно полученное уравнение на аi1 и (i=2,3,..., n) и вычтем его из соответствующих уравнений (i=2,3,..., n) системы (37). В результате неизвестное x1 будет исключено из всех уравнений заданной системы, кроме первого, и мы получим систему, эквивалентную (37) вида
х1+а12(1)•х2+а13(1)•х3+……а1n(1)•хn=b1(1)
0+а22(1)•х2+а23(1)•х3+……а2n(1)•хn=b2(1) (38)
………………………………………………
0+аn2(1)•х2+аn3(1)•х3+……аnn(1)•хn=bn(1)
С этой системой поступаем аналогично, но без учета первого уравнения. Таким образом, на втором шаге фактически преобразуемой является система ( n-1 )-го порядка с матрицей
| а22(1) а23(1) …… а2n(1) |
| а32(1) а33(1) …… а3n(1) |
| ……………………….. |
| аn2(1) аn3(1) …… аnn(1) |
и правой частью | b2(1) b3(1) …… bn(1) |t
После второго шага получаем систему, в которой х2 будет исключено из всех уравнений, кроме первого и второго. Продолжая описанный процесс, после n -го шага придем к системе, эквивалентной (37), но с треугольной матрицей
х1+а12(1)•х2+а13(1)•х3+……а1n(1)•хn=b1(1)
0 + х2 +………………а2n(2)•хn=b2(2) (39)
………………………………………
…………………………………хn=bn(n)
Преобразование системы (37) в систему (39) называется прямым ходом, а решение треугольной системы (39) - обратным ходом. Вычислительные формулы этого варианта метода Гаусса, называемого алгоритмом единственного деления, имеют следующий вид:
Прямой ход. s -й шаг (s = 1, 2,……n)
аiк(s)= аiк(s-1)/аss(s-1), bi(s)= bi(s-1)/аss(s-1), i=s, к=s,s+1,……,n (40)
аiк(s)=аiк(s-1)-[аsк(s-1)/аss(s-1)]•аis(s-1),
bi(s)=bi(s-1)-[аis(s-1)/аss(s-1)]•bi(s-1), i=s+1, s+1, ………., n к=s, s+1, ……, n
Обратный ход осуществляется по формул
n
xi=bi(i)-Sаiк(i)•xк, i=n, n-1, ………,1 (41)
к=i+1
Схема единственного деления проста и экономна по числу арифметических операций (требует умножений- (n3+3•n2+n)/3 , сложений- (2•n3+3•n2+5•n)/6, делений- n ), однако для ее применения необходимо, чтобы вcе ведущие элементы аss(s-1) (s=1,2,….,n) были отличны от нуля. Близость ведущих элементов к нулю может привести к большой потере точности вычисленного решения. В связи с этим вводятся различные варианты метода Гаусса, например, алгоритм с выбором главных элементов по всей матрице. Порядок исключения неизвестных в заданной системе происходит следующим образом. На каждом шаге s (s=1,2,….,n-1) из коэффициентов преобразуемой матрицы выбирается наибольший по модулю, называемый главным элементом s -го шага. Стоящее при нем неизвестное исключается по описанному выше правилу. Дня удобства вычислений перед исключением этого неизвестного делают перестановку уравнений и неизвестных так, чтобы главный элемент занял левый верхний угол преобразуемой матрицы. Если s-м шаге наибольший элемент выбирается среди коэффициентов s-го столбца (строки), то такой алгоритм называется алгоритмом с выбором главного элемента по столбцу (отроке). Следует отметать, что процедура обращения матриц путем применения исключений Гaycca требует примерно n3умножений по сравнению n3/3 при решении системы линейных уравнений. Поэтому не предлагается решать уравнение W•DХ=¦ путем обращения W.
При решении систем линейных уравнений, в том числе при анализе линейных схем, широкое распространение кроме метода Гаусса получили также LU - разложение, метод Краута, методы отражений и вращений [5, Д2]. В случае расчета больших электронных схем матрица W имеет значительное количество нулевых элементов (до 80-90 %) т.е. сильно разряжена. Учет этого обстоятельства в специальных модификациях вышеуказанных методов [5, Д2] позволяет резко увеличить эффективность решения (уменьшить затраты памяти и увеличить скорость решения).
При расчете статического режима ТРУ (см. (9) при условиях статики и (33)) методом Ньютона потребуется решать систему линейных алгебраических уравнений вида
-1/R1 | • | Djк1 | = | ¦1(jк1) | ||||||
1/RБ+ +1/R2 | 1/R3 - -1/RБ | Djк2 | ¦2(jк2,jк3) | |||||||
1/RБ | W33 | aN•¦'э- -¦'э | -aI•¦'к- -¦'к | Djк3 | ¦3(jк2,jк3, jк4,jк5) | |||||
aN•¦'э++¦'э | W44 | Djк4 | ¦4(jк3,jк4) | |||||||
¦'к+ +aN•¦'э | -aN•¦'э | -¦'к+ +1/R4 | Djк5 | ¦5(jк3,jк4, jк5) | ||||||
1/R6 | Djк6 | ¦6(jк6) | ||||||||
1/R2 | 1/R7 | -1 | DiкЕ | ¦7(jк2,jк5, iкЕ) |
где ¦'к=d¦кjкi/djкi , ¦'э=d¦эjкi/djкi