Доставка цветов в Севастополе: SevCvety.ru
Главная -> Справочник по алгоритмам

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

10 РР1НТ*ВЫЧИСЛЕНИЕ КОЭФФИЦИЕНТОВ ПОЛИНОМА ПО 15 PRINT ЕГО ДЕЙСТВИТЕЛЬНЫМ КОРНЯМ 20 ШРиТЗАДАйТЕ СТЕПЕНЬ ПОЛИНОМА N=N!liIM A<N+H> 25 FOR 1=1 ТО NSPRINT12.0!ВВЕДИТЕ КОРЕНЬ XI 30 INPUT Aa>ENEXT I

40 LETR=1SF0R 1=1 TO N5LETR=R»Aa>sNEXT I

45 LETE=lslF N/2-INT<N>2><>0 THEN LETE=-1

50 LETA<N*-H>=E»R!FOR L=l TO N-l

60 LETS=0EFOR K=l TO LsLETP=0sFOR 1=1 TO N

65 LETE=-l>fta>slF K2-INT<K2)=0 THEN UETE=ABS<E)

70 LETP=P+ESNEXT I

75 LETE=-lsIF <К+1>>2-1НТак+1>>2>=0 THEH LETE=1 80 LETS=S+:E«A<N+N+K-L)!(iP)sNEXT К 90 LETA<N+N-U>=S.sHEXT L

100 FOR 1=1 TO NsPRINT!2.0!AN-I!F1.9.=A<l+N> 110 NEXT I SPRINTВЫЧИСЛЕНИЯ ОКОНЧЕНЫsENIi

Пример. Пусть N = 4. л:, = I. jc2 = 1, Хз = - ! и x,= - l Получаем a:j = 0, 02=-2, ai=0 и а,>=1, т. е. P (jf)=x--2jc+!.

§ П5.2. Обращение матрицы, вычисление определителя и решение систем линейных уравнений с разными векторами свободных членов

Модифицированным методом Гаусса - Жор-дана матрица А обращается, что дает матрицу А~. Одновременно вычисляется определитель D матрицы А. Если задана система уравнений A-Xi = Bi, то ее неизвестные находятся по формуле Xi = A~ -Bi. При этом матрица А~ вычисляется один раз и можно решать ряд систем уравнений с одинаковой матрицей А.

Программа П5.2.

Пример. Пусть надо решить две системы линейных уравнений:

4 8 0" .8 8 8 2 О !

-4 8 0

8 8 8

2 0 1,

= 32

Введя W = 3 и элементы матрицы А, получим обращенную матрицу

А~ =

0,08333 -0,08333 0,666666 0,08333 0,041666 -0,33333 -0,166666 0,16666 0,33333

и определитель £) = 96 матрицы А. Введя столбец свободных членов первого уравнения, получим xi = 4, x2= -1,5 и Хз--2. Далее, введя столбец свободных членов второго уравнения, получим = !, л:2= ! и л:з = 2.

05 PRINTОБРАЩЕНИЕ МАТРИЦЫ» ВЫЧИСЛЕНИЕ ОПРЕДЕЛИТЕЛЯ И РЕШЕНИЕ

10 PRINTСИСТЕМЫ ЛИНЕЙНЫХ УРАВНЕНИЙ С РАЗНЫМИ ВЕКТОРАМИ В<П

15 PRINT МОДИФИЦИРОВАННЫМ МЕТОДОМ ГАУССА-WOPДАНА

20 ШРиТВВЕДИТЕ ПОРЯДОК МАТРИЦЫ N=NsriM A:N/N>.-B<N>,S<N)

30 FOR 1=1 ТО NsFOR J=l TO HSPRIHT12.8!ВВЕДИТЕ AI,J

40 INPUT A<I»J)!NEXT JsNEXT I

58 LETII=l!LETR=l!FOR 1=1 TO NsFOR J=I TO N

80 IF AU/DOO THEN 118

98 NEXT J

100 PRINTМАТРИЦА ВЫРОЖДЕННАЯ!GOTO 388

lie GOSUB 19esLETA<I/I)=l>A«;bnEG0SUB 210

120 FOR J=l TO NsiF J=I THEN 140

130 LETB=-A:J/I)sLETA<J/I)=0!GOSUB 230

140 NEXT J!LETI!=Ii-A<I/I)!HEXT Is FOR I=H TO 1 STEP -1

150 IF A<b0)=I THEN 180

160 LETR=-RsFOR K=l TO N!LETB=A<K»1)

170 LETA<K»I>=A<K/Aa»0>)!LETA:K,A<be>>=B!NEXT К

188 NEXT Is GOTO 248

190 FOR K=l TO NsLETB=A<bK>ELETA<bK)=A<J/K) 288 LETA<J/K>=B!NEXT К!LETA<b0)=J! RETURN 210 FOR K=l TO NsiF K=I THEN 225 220 LETA(;i,K>=A<I»I>siiA:i»K>sNEXT KsRETURN 225 NEXT K!RETURN

230 FDR K=l TO N!LETA<J/K>=A<J»K)+BsiiA<bK>sNEXT KsRETURN 240 PRINTЭЛЕМЕНТЫ ОБРАЩЕННОЙ МАТРИЦЫ A-KbJJ 250 FOR 1=1 TO NSFOR J=l TO N

260 PRINT!2.e!A"-l<I/J>=!F1.9!A<bJ>!NEXT Л1ЖХТ I

265 LETr=r»RsPRINTОПРЕДЕЛИТЕЛЬ ИСХОДНОЙ МАТРИЦЫ Ii=Ii

270 FOR 1=1 TO N!PRINT!2.0!ВВЕДИТЕ В1=!INPUT Ba)sHEXT I

275 FOR 1=1 TO N!LETS<O=0SFOR J=l TO N

280 LETS<I)=S<I)+B<J)»Aa/J)ENEXT J

290 PRINTKOPEHb X!2.0!I=•F1.9!S<I)!NEXT IsGOTO 278 360 ENB



§ П5.3. Решение системы П р и м е р. Для системы (W=3)

линейных уравнений гх,+2х2+хг=4,

методом отражения • x-sT+T-s

Метод отражения реализован следующим алгоритмом прямого хода: получим xi =0,1, лсг= -0,6 и хз = 1.7.

dt, BA+AkkS. s~(sign Atk) § П5.4. Решение системы

" линейных уравнений

с= I A„Ait, F=(c+/i*,s)/B, t=fe.....п, методом простых итераций

п При начальных приближениях х.о (i=l. 2, ...

D= BjAik, Е= (D + SBk)/В, .... N) вычисляем последовательные приближе-

/=* ния по формуле простых итераций [18]

F==Aik, F=F+S, если i = k.

х/и-Ю= хщ)-а«Л(п -

A,j=A„-P,F; j=k.....п,

Bi=Bi~FE. i = k,...,n, и k = n, n-1, !, n = N.

Неизвестные получаются при обратном ходе: *° е. где (/)-

номер итерации, е - заданная погрешность вы-Г~ У А В -В - IB Г\/А числений. Итерационный процесс сходится, если

к Xk - bk-(Bk -L)lAtk, величина модуля каждого диагонального эле-

мента матрицы А больше суммы модулей остальных .элементов. Необходимо задать начальные

k=n,n-l, 1.

Программа П5.3. приближения в виде вектора [х, о].

le PRINTРЕШЕНИЕ СИСТЕМЫ ИЗ И ЛИНЕЙНЫХ УРАВНЕНИЙ

15 PRINT МЕТОДОМ 0ТРй5НЕНИЯ

20 INPUTВВЕДИТЕ ЧИСЛО УРАВНЕНИЙ H=H:IlIM н:Н,Н>

30 FOR 1=1 ТО HjFOR J=1 ТО N

4в PRINT!2.e<ВВЕДИТЕ ЙI,J: INPUT A<b.J>

50 IF J=H THEH PRINTBBEAHTE BIsIHPUT ЙИ>В)

60 NEXT JSNEXT I

78 FOR K=i TO H5LETA=8!FOR I=K TO H 88 LETA=A+H< ЬЮ-ггNEXT I:LETS=SbH-;ft:K..K)>i«SGR;ft> Э8 LETB=A+Ai;Kf K>«S:FOR I=K TO N 100 LETC=6sF0R J=K TO H 110 LETC=C-ft<.JIЯ!ft<.J*KsNEXT J 120 иЕТнаЭ, I >=<C+S*Hf.Kj I) VB: NEXT I: LETri=0 138 FOR J=K TO H:LETri=ri+A<J,8>i«Af.J,K>!NEXT J 148 LETE=<:ri+S*H<K,8>:)/BsF0R I~K TO H 150 LETF=A<I,K)EIF I=K THEN LETF=F+S 160 FOR J=K TO HsLETft<bJ)=Aa/J>-A<0/J>*F!NEXT J 170 LETAa,8>=A<be)-Fi«EsHEXT IsHEXT K 180 FOR K=N TO 1 STEP -1!LETL=8!FOR l=K-H TO H 190 LETL=L+A<K,I)«Aa.-0>!NEXT I 200 LETA<K,0)=<A<K..8)-L>/A<K/K)sNEXT К 210 PRINTРЕЗУЛЬТАТЫ РЕШЕНИЯsFOR 1=1 TO H 220 PRIHT!2.6iXI!Fi.9!:=:Aaf0)!HEXT isEND

Программа П5.4.

10 PRINTРЕШЕНИЕ СИСТЕИЬ! ИЗ N ЛИНЕЙНЫХ УРАВНЕНИЙ 20 PRINT МЕТОДОМ ПРОСТЫХ ИТЕРАЦИЙ

30 ТНРиТЗАДАйТЕ ЧИСЛО УРАВНЕНИЙ H=H:riIM А<Н/Н),В<Н).-Х<Н),г<Н>

40 1НРиТЗАДАйТЕ ПОГРЕШНОСТЬ ВЫЧИСЛЕНИЯ Е=Е

50 FOR 1=1 ТО Ns FOR J=l ТО И

60 PRIHT!2.e!ВВЕДИТЕ АI,JsINPUT A<I,J)

70 IF J=H THEN PRINTBBEAHTE BIsIHPUT B<I>

80 NEXT JSNEXT I

90 LETS=0SFOR 1=1 TO NsPRINTЗАДАЙТЕ кI<0>sIHPUT SCDsNEXT I

100 LETK>0sFOR 1=1 TO H5LETX(I)=-B<I)

110 FOR J=l TO H:LETX<I)=xa>+fta,J)SKZ<J)

128 NEXT JSIF ABSi;X<I>vft<bn)>=E THEH LETK=1

138 LETX<n=2a>-X<I>/A<I,I>!HEXT I

140 FOR 1=1 TO H5LETZa>=X<I):HEXT I

158 LETS=S+l!lF K=l THEN 188

160 PRINTРЕЗУЛЬТАТЫ РЕШЕНИЯ

170 FOR 1=1 TO N;PRIHT!2.e!XI=!F1.9.X<I>5next I 180 PRIHT!4.0!ЧИСЛО ИТЕРАЦИЙ S=S!EHri



П р и м е p. Для системы (Л/ = 3)

4jc+0.24j:s-0.08a--, = 8, 0,09л:,-)- Зл:г-0,15х:, = 9, 0.04х ~ 0,08.\Г2 + 4.V3 = 20,

задав Е = £=1-10- и начальные приближения Х1о = Х2о = хз1>=К получим: .1:1 = !,9091, Х2 = = 3,1949;.л = 5,0448 (пятыйи последующие знаки после запятой отброшены, так. как при s = I 10"" они недостоверны) и /V„tcp = 5 (число итераций).

§ П5.5. Решение системы линейных уравнений методом Зейделя

При методе Зейделя итерационный процесс подобен описанному для метода простых итераций, однако уточненные значения x,f, + i) сразу подставляются в последующие уравнения. Формула итерационного процесса имеет вид [18]

Xlii+l -

i-i N

= Xiii)-"(У" "**(;-ni+ a!tXtii, - b, .

Условия сходимости те же, что и для метода простых итераций. Обычно метод Зейделя сходится быстрее, чем метод простых итераций, ио не исключена и обратная ситуация: Программа П5.5.

и m>n (т. е. в общем случае число уравнений в системе больше, чем число неизвестных). Система может быть иесовместиой. Ее решением считается вектор неизвестных, при котором скаляр {АХ- В) {АХ -В) принимает наименьшее значение. Решение сводится к решению системы [X] = [/IB], где А - транспонированная матрица А. Для этого используется метод квадратных корней.

Решение системы АХ = В (в нашем случае А -~АА и В-АВ) методом квадратных корней реализуется по следующим формулам прямого хода:

flV=V7, ai> = a„/aV, fV==bMV. /=1. 2. 3, п.

а)р-Л a,-l 41". <=1. 2, 3.....п,

f;"=(/-l-

10 РКХКТРЕШЕНИЕ СИСТЕМЫ ИЗ Н ЛИНЕЙНЫХ УРАВНЕНИЙ 20 PRINT ИТЕРАЦИОННЫМ МЕТОДОМ ЗЕЙДЕЛЯ

30 1НРиТЗАДАйТЕ ЧИСЛО УРАВНЕНИЙ N=N!lilM A<N,N)/B(N)/XaO/Z<N>

40 INPUTЗАДАЙТЕ ПОГРЕШНОСТЬ ВЫЧИСЛЕНИЯ Е=»Е

50 FOR 1=1 ТО N! FOR J=l ТО N

60 PRIHT !2.0IВВЕДИТЕ АI, J: INPUT AO/J)

70 IF J=N THEN РР1НТВБЕДИТЕ ВUINPUT B<I>

80 NEXT JSNEXT I

98 LETS=0:FOR 1»=1 TO NsPRINTЗАДАЙТЕ XI(8)s INPUT Z<1)eHEXT I

100 LETt<=0sFOR 1=1 TO NsLETX<I)=-B<I>

118 FOR J=l TO NSLETX<I)=X<I)+A<I»J)»Z<J)

120 NEXT JSIF ABS:X<I)-A<bI>)>=E THEN LETK=1

138 LETX<I)=Z<I>-X<I)/A<bnsLETZ<I)=X<ntNEXT I

150 LETS=S+lslF K=l THEN 180

160 PRINTРЕЗУЛЬТАТЫ РЕШЕНИЯ

170 FOR 1=1 TO NSPRINT!2,0!XI«!F1.9(X<I)8NEXT I 180 PRINT!4.0!ЧИСЛО ИТЕРАЦИЙ S=S!END-

Пример. Для системы уравнений (Л/ = 3)

10x1+ х,+ й=12. 2х1 + \0хг+ JC.= 13, 2лГ-- 2х-2+\0х,= \4

при Е=1-10- и xi(i=JC2(i = Xin = 0 получим Xi = = 0.9999. Х2 = 0,9999 и х,= \ при Л/„„р = 5.

§ П5.6. Решение системы

линейных уравнений

с переопределенной матрицей

Решается система АХ=В, где

Затем проводится обратный ход; x,.(j)"-j: dih,la)\ i = n,n-\..... 1.

решение

021 .

022 .

02,1

&2

. а„,

От2 .

. Ошп-

При т - п этим методом возможно .обычных систем линейных уравнений.

Программа П5.6.

Пример. Для системы уравнений (n - N = 3, т = УИ = 6)

0,41X1- 0,352 + О,! бхз = 0,22. 0,23X1 -(- 0,2x2 -(- 0,4! хз = 0,84, 0.46х, - О,! 3x2-)-0.48X3 = 0,8!, О,! 7х I -Ь 0,45X2 - 0,25хз = 0,37, 0,83х, -(- 0,27x2 - 0,51 хз = 0,59, 0.27x1 + 0.82x2 - 0.! 4X3 = 0,95

получим Х = !, Х2= ! и Хз= 1 при <с»; 15 с.



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



0.0084
Яндекс.Метрика