Android-приложение для поиска дешевых авиабилетов: play.google.com
Главная -> Справочник по алгоритмам

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

Ориентированное расстояние от точки (Хл, г\, Zt) до данной плоскости

AX,+BYt + CZ, + D

Знш L указывает на расположение ¥очки

{Xi, Yi, Z,) ; сверху или снизу плоскости. .

Программа 3.68.

:18 РРИнТТЮПЯРНЫЕ ПЙРЙМЕТРЫ ПЛОСКОСТИ йжХ+ВжУ+Г:ж.2+г1=@

ге PRIHT и РйсстояниЕ от нее до точки мк;>ал1г.21>

30 INPUTВВЕДИТЕ ПйРЙМЕТРЫ Й,В,СБ йгБ.СгП 40 LETR=1-.IF 11>е THEN LETR=-1 50 иЕТГ1=ЗШ(нжй+ВжВ+СжС)!ЕЕТн1=11Е01:йС.9<ржйЛ1> > 60 LETBl=IiE6<ACS<R*E>h>)!LET61=]DE&(ACS(R*CvM>> 70 PRINTУГЛЫ Б ГРйДУС:йК!РР1НТйЛЬ!Й=й1 80 РР1НТБЕТЙ=В1:РР1НТГЙМГ1Н=61

90 INPUTве;едите КООРДИНАТЫ ТОЧКИ Kl.-Sl/Zl y.,WrZ 100 LETL=(A«X+B«V+C*2+IiVM

lie PP!INTРАССТОЯНИЕ ДО ТОЧКИ U=L!60T0 SesEND

Для A>=\ В=-2, C=2 и D=-3 =131.8103149° и v=48,189685П. Для точки получаем Р=1, а =70,52877937°, р= (5,5,5) L = 0,666666667.



ГЛАВА4 . .

АЛГОРИТМЫ И ПРОГРАММЫ РЕАЛИЗАЦИИ ОСНОВНЫХ ЧИСЛЕННЫХ МЕТОДОВ

§4.1. Решение систем уравнений

линейных

Системы, из п линейных уравнений вида

d Х+.0,2X2+....+ ai„x„ = 6i, 021X1+022x2+... + а2дЛ,;, = <>2, (4.1)

ач,х I + a„2JC2+... + а„„Хй = 6„

решаются; точными и итерационными методами.- Точные методы дают точное решение за конечное число операций, если все они -выполнялись без погрешности. Число операций у итерационных методов зависит от зйданной. погрешиорти вычислений.

Метод Гаусса или метод последовательного исключения неизвестных основан на-приведении матрицы -коэффициентов о,,- к треугольному виду. При этом алгоритм решения, системы (4.1) следующ-ий.

1. С помощью двух цаклов с управляют

щими переменными 2..... п и / =

= 1, 2, .... п. организуем ввод коэффициентов О и. fe,, образующих массивы. А{1, J).

и-е(л.;

2. Пррэодим прямой ход-исключения переменных путем преобразования коэффициентов , (4.1)- по. формулам

о;,= - Ofi/giu-.; aib~ait-\-atiaii,; bi = bi-\-aiibi,

где i=l-„ 2.....п,-l;./=i+l, (,+ 2, re.

и, /!f=(+U ("+2,..., ( + n. В конце этих преобразований- получаем

Хп=Ьп/а„п.

3. Организуем обратный ход (последовательное нахождение x„ i, лгл-г, .... Х2, Х{), проводя вычисления цо фopмyлal(l

h-b,i ti./i = h-Xjaii,

где i=n~\,.n-2. .... 2, I, /.= t+.l, «Ч-2, ...

n и-Xi=hjaii- В результате формируется массив .Х-..{У). неизвестных х-, х,.-.,, .... xj, xi.

4. Организуем вывод, массива X (/). ПроГ-рамма 4.1г.

П.р-я.мер-. Для системы (й=3)

.4.x; I + 0,24.1-2 - 0дах;з = 8. 0,09х+. Зх,-0.15х., = 9. (2)

0.04.VI г- 0.08.Г2 + 4.V., - 20

находим. xi=rK90?i-9828i; х2=ЗЛ949в4417 и хз = 5,044807306. Если, коэффициенты. о,-,-

близки к О, может наступить аварийный останов ЭВМ, либо из-за погрешностей округления точность сильно ухудшается. Этоявляг ет£я недостатком простейшей реализации метода Гаусса.

Метод Гаусса с выбором главного элемента заключается в том, что при прямом хо.с,е производится выбор наибольшего по модулю (главного), элемента и перестановка строк или столбцов (см. рис. 4.1). Последнее исключает деление на 0; если матрица А{/, /) содержит нулевые элементы, и повышает точность вычислений при наличии ошк<б-зх округления. Для ПЭВМ, ведущих вычисления с числами с плавающей запятой, достаточен

выбор у4(/, /)=5tO.-

Программа 4.2.

П -р и м е р. Для системы

Зх,+2лг2+хз=4,

Х,+ Х2Хз=1, (4.3)

х,-2х-г+хз=3.

получим Xi = l,-7; Х2= -0,6 и Хз = 0,1.

Метод вращения [24] является разновидностью метода Гаусса, обладающей по выщенной устойчивостью к «провалам» промежуточных вычислений. Этот метод обрс-в-чивает приведение исходной системы (4.1) к системе с правой треугольной матрицей по следующему алгоритму.

1. Вводим o,i и 6,.

2. Вычисляем

Мк=-

Valv-

пр.ичем. если a.v,=at,-=0, то Л1й=Ги / -и=0.-Проводим преобразования системы по форг мулам

Mkiyt- Li,iyk= Mtibi - Lbibk, Lkiy,- Mkiyk= Uibi - Msibk,

где i= I, 2, .... И+1, fe=i+l, ( + 2.....я„

tfi ну,,.- лееые части,, a bi и. 6*пр-а-вые части (-го и fe-ro уравнений соответственно.

После п(п-1)/2 шагов приходим, к. системе с верхней треугольной матрицей. 3. Осуществляем обратный ход:

х,п = (Й, - ой?„,+1 х,„ +1 .. o(,,>.t,,) /аУ,;,„ где .т=п, п -U I-



Программа 4.2.

10 PRINTРЕШЕНИЕ СИСТЕМ ЛИНЕЙНЫХ УРАВНЕНИЙ МЕТОДОМ 20 PRINT ГАУССА С ВЫБОРОМ ГЛАВНОГО ЭЛЕМЕНТА 30 INPUTЗАДАЙТЕ ЧИСЛО УРАБНЕНИй Н= N 40 ШМ A<NrN>fB;NbC<N,N>>6<H>7XCN> 50 FOR 1=1 ТО N: FOR .J=l ТО N

60 PRINT12.0!ВВЕДИТЕ АIr .J=: INPUT A<I,J)!NEXT J 70 PRINTBBEUHTE B1=:INPUT B<I)!NEXT I 80 GOSUB 100 85 FOR 1=1 TO N

90 PRIHT!2.0!XI=!F1.9!XCI>:NEXT IsSTOP 100 LETNl=N-l: FOR K=l TO N1

110 IF abs<a<:k,k>>>0 goto 200

120 LETKl=K+l!FOR M=K1 TON 130 IF ftBS<A<:M>K))>0 GOTO 150 140 GOTO 165

150 FOR L=l TO N:LETU=ACKfL):LETACK,L>=A<M,L> 160 LETA<MfL)=U!HEXT L 165 NEXT M

170 l.£TU=E<K>! LETB(K>=B<M> s LETB<M>=U

200 LETG(K>=BCK>A<K,K>:LETK1=K+1

210 FOR I=K1 TO Н!ЕЕТВ<1>=В(П-А<ЬК>жб<К)

220 FOR .J1=K TO N:LET.J=N-J1+K:LET«K,.J)=A(K>J>A<K,K>

£25 LETft<;i,.J>=ftaf.,0-Аа,К)жС<К,и)

230 NEXT JlsHEXT I:NEXT К .

240 LETM=N!LETX<M>=B(M>>A<m7m>

250 LETM=M-1:LETS=6!F0R L=M TO N1

260 LETS=S+CCM,L+Oii!X<L+0!NEXT L

270 LETX<:M>=G(M>-S! IF M>1 GOTO 250

280 RETURN:END

05 PRINTРЕШЕНИЕ СИСТЕМЫ ИЗ N ЛИНЕЙНЫХ УРйВНЕНИй 10 INPUT ЧИСЛО УРАВНЕНИЙ H=N

£0 HIM a(n,n),b<n),x<:n>

30 FOR 1=1 TO N! PRINT !£.0!ВВОД КСОФ. УРАВНЕНИЯ I

40 FOR .J=l TO N: INPUT A<b.J)

50 NEXT Js INPUT B<I):NEXT I

60 FOR 1=1 TO N-l! FOR .J=I + 1 "0 N

70 LETAC.J,O=-A<;.>nAa/O:F0R K=I + 1 TO N

80 LETA(.J,K)=A<.JfK)+A<J,I)*A<bK>! NEXT К

90 LETBi:.J>=B(.J>+A<:.JfO*B(I>! NEXT J! NEXT I

100 LETX<N)=B<N>A(NrN)

110 FOR I=N-1 TO 1 STEP -l! LETH=B<I>

120 FOR .J=I + 1 TO N! LETH=H-X<.J)*Aa,.J)!NEXT J

130 LETXtO=H>Aa>I)!NEXT I

140 PRINT КОРНИ СИСТЕМЫ УРАВНЕНИЙ

150 FOR 1=1 TO n5 PRINT!2.0! X<I) = sPRINTIE! xa> 160 NEXT I! END



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.0077
Яндекс.Метрика