Файл: Голембо, З. Б. Алгоритмизация и программирование электротехнических задач на электронных цифровых вычислительных машинах учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 21.10.2024

Просмотров: 66

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

При с =

0 уравнение (9.43) биквадратное:

 

 

 

 

 

 

 

 

 

tk

— б/2 +

1 = 0,

 

 

(9.46)

Минимальный

по

модулю

корень

этого

уравнения

равен

~У ЪУ8.

Уравнение

(9.43)

при

произвольном

с заменяется

сле­

дующим образом:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t'k — 6t2+\+ct

 

(Г- — 1) = 0.

 

 

(9.47)

Обозначим левую часть

(9.47) через fc(t).

Так как

 

 

 

/ (0) =

1

при

с > 0 ;

f(V3

V8)>0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

с < 0 ;

 

/ ( - | / з - т / 8 ) < 0

 

 

и fc(t)

непрерывна,

имеет

место

неравенство

(9.45).

 

 

2. Теперь докажем,

что fc{t)

монотонно

убывает на сегменте

[о, Уз

УЪ]. Для доказательства достаточно

убедиться

в том,

что fc(t)

<

0.

 

 

 

 

 

 

 

 

 

 

 

 

Действительно,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

fc(t)

= tt(t2

3) +

с(3/ 2 — 1)

 

 

 

 

 

 

*8

— 3 < 0

при

t<y~3\

 

 

(9-48)

 

 

 

З*2

— 1 < 0

при

/ <

1 / V"3 .

 

 

 

Так

как t изменяется

в

пределах

от 0 до

УзУ 8,

то

чтобы доказать, что fc(t) < 0, достаточно убедиться в том, что

Уз^уъ<узи

У з Г у 1 < 1 / У 3

(последнее

устанавли­

вается

непосредственно).

 

 

 

3.

Докажем, что если с' > с, то график функции fc-

(t) (рис. 9.4)

расположен ниже графика fc(t),

т. е.

fc(t)—fC'(t)>0.

Действительно,

 

 

 

 

 

 

/ e (f) =

/* — 6 / » +

1

+ct(t*-l);

 

 

fc.

(*) =

** —6*» +

1

+c't{i2—\).

 

юткуда

 

 

 

 

 

 

Ш-fc-

 

(t)=(c-c')t(t*-\)>Q.

 

Так как с—с' < 0 по условию, то t2 — 1 <; 0, поскольку

г<У 3 — У8.

Следовательно, при с' > с нуль уравнения fc>{t) = 0 располо­ жен левее нуля уравнения fc(t) = 0.

J62


 

 

 

г.

Выбор начального

приближения

 

 

 

 

 

 

 

 

 

в зависимости от величины 2{ап

ац^/а^

 

 

 

Покажем,

что

начальное приближение

tc

уравнения

(9.43)

целесообразно

выбирать следующим образом:

 

 

 

 

 

1.

При

100 >

| с | ' > 3

tc

= 1/с;

 

 

 

 

 

 

 

2.

При

с | < 3

tc = Уз

У 8sign с;

 

 

 

 

 

 

3.

При

с|

>

0.

 

 

 

 

 

 

 

 

 

 

В последнем случае приближенное решение уравнения

(9.43)

выписывается

сразу:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L =

 

 

!

.

 

 

 

 

 

(9.49)

1.

 

 

 

0

 

 

c[\-fc(l/c)\

 

 

 

 

 

 

Пусть с :> 3.

 

 

 

 

 

 

 

 

 

 

Тогда

 

 

 

 

 

 

 

 

 

 

 

 

 

 

U(*с) = Ш1 с) =

 

- 6 / с 2 +

1 +

( 1 / с 2

- 1)

=

 

 

 

 

 

=

1/с4 — 5 / с 2 < 0 .

 

 

 

 

 

(9.50)

Следовательно,

при с >

 

(1/5), 0 <

t0 <

(1/с),

где

t0 — реше­

ние уравнения

(9.43).

 

 

 

 

 

 

 

 

 

 

Вторая

производная f"(t)

< 0

на отрезке [/„, tc].

Действитель­

но,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f ё ( 0 =

12/2

+ 6с/ — 12.

 

 

 

 

(9.51)

Положительный нуль второй производной равен

 

 

 

 

 

 

 

— с / 4 + ] / с 2 / 1 6 + 1.

 

 

 

 

(9.52)

Убедимся в том, что он превосходит

1/с. Решим

неравенство

 

 

 

 

— с / 4 +

у ' с 2 / 1 6 + _ 1 > ( 1 / с ) .

 

 

 

(9.53)

В результате получим, что с > ] / 2 .

В силу того.что /"(0) = —12, а второй нуль второй производ­ ной отрицателен,/"(0 отрицательно в пределах сегмента [/„, tc].

/"(1/с)/

(1/с) > 0,

так

как fc(t)

< 0 в

пределах

[0, 1/с] Ш

монотонно

убывает.

 

 

 

 

 

Так как fc(0) =

—с,

/ с (t)

<1 —с,

с >- 3, следовательно,

(0 -«С —3 на сегменте [0, 1/с].

 

 

 

Итерации начинаются с tc = 1/с и последовательные прибли­

жения монотонно убывают до t0>

0, поэтому первую

производную

необходимо вычислять в тех точках, где она превосходит по аб­ солютной величине 3.

2. Если 0 < с < 3, то

tc=V

Ъ У 8.

 

Как уже говорилось, значение t0

— решение уранения

(9.43)—

. лежит на полуинтервале

[0,tc].

На

этом полуинтервале fc(t) <. 0,

так как положительный нуль второй производной при с =

3 равен

1/2.

 

 

 

 

163


В функции

ф (с) = — с 14 +

У

с21

16 + 1 <|J (с) монотонно убыва­

ет при всех значениях с.

 

 

 

 

 

 

Сказанное следует из того, что

Ф'(с) < 0 :

 

 

 

f

(С ) = — 1/4 + с / [ 1 6 ] / с 2

/ 1 6 + 1 ] .

(9.54)

Определим, при

каких значениях с

 

< 0, т. е.

 

 

 

 

 

с / [ 16 т / с 3 /

16 +

1 ] <

(1/4).

 

Сократив последнее неравенство на 4 и возводя полученное

выражение в квадрат, приходим к неравенству

 

 

 

 

 

с 2 < с 2 + 1 6 ,

 

 

(9.55)

которое будет справедливо при всех значениях с.

 

Так как

положительный нуль fc(t)

есть монотонно

убывающая

функция

с,

то для

всех значений

 

с,

заключенных

в интервале

О < с <

3, нуль второй производной превосходит 1/2.

 

Таким образом,

при 0 < с < 3

одно значение второй

производной

отрицательно, другое — больше

1/2,

следовательно, вторая произ-

ч

Рис. 9.5. Поведение второй производной внутри сегмента [0, 1/2]

водная на сегменте [0, 1/2] сохраняет свой знак. В силу того, что она отрицательна в нуле, она будет отрицательна и на всем сегменте

[О, 1/2], а тем более в пределах [0, tc],

так как

У 3 У 8 < (1/2)

(рис. 9.5).

 

 

Выше было показано, что / с (Уз

У в) <

0, следовательно,

итерации начинаются с точки, в которой выполнено неравенство

Оценим теперь fc(t)

для случая 0 <^ с <

3. Если а есть решение

уравнения fc{t) = 0

при с — 3, то решение уравнения fc(f) — О

при с < 3 лежит правее а (см. п. 3).

 

Так как для всех с в пределах 0 <1 с <

3 итерации начинаются с

tc = Уз У 8 и последовательные приближения монотонно убы­ вают, сходясь к решению t0 > а, достаточно оценить величину

f'c(t) в пределах сегмента [а, У з — , что можно сделать сле­ дующим образом:

f'e (t) = 4/ (/3 — 3) + с (З/2 —1) < 4/ (/3 — 3) < 4а (а3 —3).

164


Непосредственной проверкой убеждаемся в том, что'а — реше­ ние уравнения (9.43) при с = 3 удовлетворяет неравенству

( 1 / 5 ) < а < ( 1 / 4 ) .

Следовательно,

/; ( ; ) < (4/5) ( 1 7 2 5 - 3 ) < - 2 .

д.Оценка точности

 

 

 

 

решения уравнения

(9.43)

 

 

 

 

При

решении

уравнения

(9.43) на ЭЦВМ получается не точное

решение t0,

так как итерации

обрываются на некотором прибли­

жении th. Дадим оценку величины погрешности

 

 

Решение

уравнения

(9.43)

последова­

 

 

тельными приближениями

ведется до тех

 

 

пор, пока |/ (th)\ не станет меньше

неко­

 

 

торого

е. Величина

е вводится в машину

 

 

вместе с программой. При всех значениях с

 

 

справедлива

 

оценка

fc(t) < —2.

М с

 

 

 

Проведем

(рис. 9.6)

через

точку

 

 

координатами

thl,

f (tk)

прямую е с угло­

 

 

вым коэффициентом —2. Пусть

tk'—точка

 

Уз-VT

пересечения этой прямой с осью t. Так как

 

f(tK)

fc{t)

<

—2,

то на tkth

график / с (t) распо­

 

 

ложен выше кривой

t.

Следовательно,

t0

 

 

лежит между 4<V В треугольнике tkth М

 

 

катет titth

в

2 раза

меньше

катета

thM.

 

 

 

Предположим,

что |/с (4)| <

е ; тогда

 

 

 

 

 

tk—tQ<tk—tk<{zl2).

 

 

 

Рис. 9.6.

Геометри­

 

 

 

 

 

ческое

представление

Таким образом,

найдя

значение t

оценки

точности ре­

шения

уравнения

при

котором

/ (th) <

е

получим

реше-

(9.43)

ние с точностью до е/2.

 

 

 

 

 

 

 

§ 9.7. Выражения элементов матрицы D через тангенс половинного угла поворота

Элементы

г'-го столбца матрицы D

вычисляются

по формуле

dSi

= a s i c o s Ф + ask s i n Ф- (s =

1, 2, ..., i — 1).

Заменив

в этой формуле cos ср на

(1—t2 )/(\-\-t2 )

и sin q> на

'2t/(l -hi2), после преобразования получим:

165


Аналогично элементы k-ro столбца

D вычисляются

по формуле

dsk = ask cos Ф — asl

sin ф =

ask

— y - ^ -

(ask

t +

asi)

(9.57)

 

 

 

 

( s =

1, 2

 

k— 1).

 

 

 

 

 

Для элементов t'-й строки

 

 

 

 

 

 

 

 

du = ^

cosф + allssm

ф =

о„ — - j -

^

- (ai s f

aliS)

(9.58)

 

 

 

 

(s = i +

1

 

n).

 

 

 

 

 

Для элементов &-й строки

 

 

 

 

 

 

 

 

dbs =

°W cos ф — ais

sin ф =

o/ M

— — ^ -

(ot a

f +

a,-,)

(9.59)

 

 

 

 

(s =

k + 1

 

n).

 

 

 

 

 

Элементы

dih

dik,

dkk

 

 

 

 

 

 

 

 

 

dn

= an

cos2

ф + 2ai f t sin ф cos cp + akk

sin2

ф

=

 

=

a »

+

7 Г ^ ) Г К ( 1 -

О

+ * (aftft

- a „ ) ] ;

 

(9>60)

dju =

aik

(cos2 ф — sin2 ф) +

{akk

— au)

sin ф cos ф =

 

= a»< + T T T ^ [ ( a " ~~a u )

( 1 ~~ ' 2 )

~ 4 / f l ' f t l :

'

( 9 - 6 1 }

dkk

= akk

cos2

ф +

an sin2 ф — 2aik sin cp cos cp =

 

=

аы

+

TTZT^r

 

-

a**)

t~aik(l-1%

 

 

 

(9.62)

 

 

 

U + t )~

 

 

 

 

 

 

 

 

 

Формулы (9.56) и (9.62) записаны в таком виде, что при вычис­ лениях по ним влияние ошибок округления минимально.

§ 9.8. Алгоритмизация метода Якоби

Составление программы для метода Якоби является трудоем­ ким процессом и требует высокой квалификации программиста. Представим программу по методу Якоби на алгоритмическом языке Алгол, что позволит пользоваться ею на любой ЭЦВМ, имеющей транслятор.

procedure jacobi

(а,

п,

Е,

b,

Т);

value

п, Е;

 

integer «; real Е; array

a,

b,

 

Т;

 

 

 

 

begin

integer

i,

j ,

k,

t\,

t2,

t3,

/4,

/5,

/6;

 

real c,

s,

л 1,

г 2,

r3,

 

г 4,

г 5,

г 6,

г 7,

г 8 , г 9, г 10, М,

Ml;

array

h[\;

5];

 

 

 

 

 

 

 

 

 

 

 

 

procedure f(u,

v, p,

q,

w, in,

I);

 

 

 

 

value in,

I;

 

 

 

 

 

 

 

 

 

 

 

 

integer u,

v,

p,

q,

in,

I;

array

w;

 

 

 

 

166