Главная -> Книги

(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) ( 56 ) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (74) (75) (76) (77) (78) (79) (80) (81) (82) (83) (84) (85) (86) (87) (88) (89) (90) (91) (92) (93) (94) (95) (96) (97) (98) (99) (100) (56)

Программы, подобные программе 199, целесообразно использовать во всех случаях (в частности, при решении систем из двух уравнений минимизации их невязок), когда нет информации о выпуклости пелевой функции. Для примера рассмотрим расчет статического режима в типовой цепн питания биполярного транзистора (рис. 27,6), описываемой уравнениями

Так как /, =/а +/g ~в/а = (53+4)/?а . к = э~б ТО получим уравнения

(/э«4 + Убэ)/(1+«1/«»)-=0; /э(«з + «4)-/б«з + (кэ = 0-

Учитывая, что I R <бэ " exp(A(fg3- въ ~ кэ))" примем, как и для программы 197, /3=02+6, l=cz-d. где 2 = ехр(Л(УБэ ) -Тогда в соответствии с базовой программой 199 рабочий режим питания в рассматриваемой цепн определяется с помощью следующей программы.

Программа 200. Расчет напряжений U и кэ типовой цепи питания биполярного транзистора

ИП7 ИП8 +

1111

х<0

ИП7 ИП9 +

х<0

ИП8 ИПб X

е"

t ИП4 X

X ИПО -

ИПб X е"

X - ИПО

Пб - В/О

Инструкция. (£ = Р0, /?1 = Р1, /?2 = Р2, /?з = РЗ, R = Pi, А = Р5, " = эо/0-ала/)=РА, 6 = а ,о/(-«л/а/)=РВ. с={\-ат) IqI(1-аа,) =

= PC,d=(l-a/)/к;о/(-ала/)=РД) ЫО«« = Рб,(/э = Р кэ = Р9

= Р7; для оптимизации f/gg выполнять А(/=Р7 В/О С/П РХ = Ф ((/gg, (Укэ) =

=Ф,Р 8 = (/33; для оптимизации (/,3 после i/gg выполнять А(/ = Р7 С/П РХ = Ф,

Р9 = (/кэ-

Пример. Пусть £=10 В, /?i=60 кОм, /?2=5 кОм, /?з=б кОм, Ri=l кОм, Л=39 В-, а=10-« А, 6 = 4-10- А, с=2-10-« А, й=ЫО- А. Для вычисления Бэ и кэ абсолютной погрешностью А =0,01 В необходимо минимизировать целевую функцию до значения Ф< (А)*=1 • 10-*. Один из возможных вариантов решения задачи с помощью программы 200 приведен в табл. 4.1. По полученным результатам и хранящимся в памяти исходным данным вычисляем

дополнительно /э=(ехр (A(/gg)-1) а+6=7,4022909.10-* А « 0,74 мА, /g = = (ехр (A(/gg) -•) с-rf=l,4696582-10- А«0,015 мА, i/g = /g«4 = 0,74 В. б = БЭ+Э = 0.909 В. /2 = (/g/«2 = 0.181 мА, /, = /2-f/g =0,195 мА, / = = /з /р = 7,26 мА.

Прн использовании микрокалькулятора с входным языком ЯМК52 дополнительный регистр памяти можно использовать, например, для сокращения про-



Таблица 4.1. Вычисление U и Uпо программе 200

Пуск

МО»»

0,05

В/О С/П

450,81719

0,02

-0,01

В/о С/П

10,695906

0,16

0,002

в/о С/П

0,8219403

0,172

-0,0004

В/о С/П

0,3675397

0,1696

0,0132875

-0,02

0,0044154

5,58

0,004

0,0039095

5,608

-0,001

0.0038854

5,602

0,0001

в/о С/П

0,0093781

0,1697

-0,0001

в/о С/П

0,0012534

0,1694

0,00002

в/о С/П

0,0009811

0,16948

0,01

0,0008549

5,642

-0,002

0,0005180

5,622

-0,00001

в/о С/П

0,0006760

0,16949

-0,00001

в/о С/П

0,00014832

0,16942

0,000002

в/о С/П

0,00014123

0,16943

0,001

0,00003986

5,633

граммы при временном запоминании величины ехр{Аи )-1 илн для хранения величин /д илн /g.

Процесс минимизации целевой функции при решении многих задач удобно контролировать непосредственно по величинам и знакам невязок уравнений, связывающих оптимизируемые величины. В качестве примера рассмотрим применение методов нелинейного программирования для вычисления комплексно-сопряженных корней (вещественные корни можно вычислить ранее рассмотренными методами) алгебраических уравнений с многочленами А{р) степени «>6 комп-leKCHoro аргумента p=a+jo), которые нельзя найти по программам, приведенным в § 3.3. Корин многочлена А{р) можно найти методами численной оптимизации, используя модуль И(р) в качестве целевой функпин и отделяя корни с помощью программы 192 прн многократном одномерном поиске экстремумов по координате а с изменением после каждого поиска координаты о). Уточнить корни можно с помощью программы 199 по невязкам КеЛ и \тА или непосредственно по величине А{р) при координатном поиске вдоль осей оно). Прн этом следует учесть, что корни многочлена находятся внутри окружности радиуса R, определяемого по формуле (3.16), и достаточно определить лишь по одному корню р, = а,+](а,, расположенному в верхней полуплоскости аргумента р (при (1)>0), так как сопряженные корни p, + i=a,-/ш,-.

Возможны и другие методы вычисления корней методами нелинейного программировании, например при минимизации А{р) по вычисляемым значениям ReA и \тЛ. Для этого удобно использовать то обстоятельство, что в корнях сходятся линии равных фазовых углов ф«=агд/4(р) от О до 360°, причем иа линиях фо=0±А;18С° (к - целое число) 1гаЛ(р)=0, а иа линиях ф9о=90±А!180 значение ЯеА(р)=0.




Программа 201. Вычисление ЯеА(р) и \тА(р) многочлена А{р) степени лЮ комплексного аргумента p = o±j(jj с авточптнчоеким приращением Д вещественной нли мнимой части

ИПВ ИПД ИПС + ПС ИПА ПП 46

ИП9 ПП

46 ИП8 ПП

ИП5 ПП 46

ПП 46 ИП1

ИПД + ПВ

Вх +

46 ИП7 ПП 46

ИП4 ПП 46 ИПЗ ПП

ПП 46 ИПО ПП 46

ИПС БП 05

«• ИПС X

ИПб ПП 46 46 ИП2 С/П ИПВ ИПВ X Вх -

ИПС X

ипв X

Инструкция. (ао=РО, ai = Pl, 0,0= РА; вместо отсутствующих коэффициентов ввести нули или для сокращения времени счета устранить соответственно фрагменты ИП N ПП А, изменив адрес А обращения к подпрограмме) ао=РВ, (йо=РС, Д = РД; для вычислений при Oj = ai i+A выполнять Д = РД в/о С/П PX = ReA(p), PY=Im/l(p); для вычислений при ьц = ьц-\+А после изменений Oj выполнять Д = РД С/П PX = ReA(p), PY=Im/4(p); для изменений (О,- после первого пуска программы выполнить БП 3 9 С/П.

При использовании этой программы для отделения корней следует вычислить R по формуле (3.16) и по полуокружности этого радиуса илн по описывающему его прямоугольнику с шагом Д/?/2л вычислить значения ReA{p) и 1тЛ{р), отмечая интервалы р, в которых контрольная линия пересекается с линиями равной фазы фо или ф9о. о чем свидетельствует изменение знака 1тА(р) при РеЛ(р)>0 нли ReA(p) прн 1тЛ(р)>0. Эти линии равной фазы разбивают плоскость р на области с определенным знаком РеЛ(р) и 1тА{р), показанные на рис. 28 для многочлена /4(р) =р+р5+р*+р*+р+р+1. При использовании программы 201 для отделения корней целесообразно выполнить: а=Л, о) = 0, A=R/2rt БП 39 С/П ... С/П ... С/П контролируя отрезок а = Л, 0<(а<Л, за-



(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) ( 56 ) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (74) (75) (76) (77) (78) (79) (80) (81) (82) (83) (84) (85) (86) (87) (88) (89) (90) (91) (92) (93) (94) (95) (96) (97) (98) (99) (100)