ВУЗ:
Составители:
69
300 REM первоначально задать H единичной матрицей
320 CC = 0: FOR I = 1 TO N: FOR J = 1 TO N: H(I, J) = 0: NEXT J
H(I, I) = 1: NEXT I: TT = 0
330 PRINT "Введите начальную точку"
340 FOR I = 1 TO N: PRINT "X"; I; : INPUT X(I): NEXT I: PRINT ""
360 REM Промежуточный вывод
380 PRINT " текущие значения"
400 FOR I = 1 TO N: P(I) = X(I): Y(I) = X(I): PRINT "X"; I, X(I)
NEXT I
410 GOSUB 5000
420 PRINT "итерация"; CC; "значение"; Z
430 FP = Z: GOSUB 6000: G1 = G0
440 REM градиент запомнить в U и выбрать начальное направление D
450 FOR I = 1 TO N
460 U(I) = GL(I): D(I) = 0
470 FOR J = 1 TO N
480 D(I) = D(I) - H(I, J) * GL(J)
490 NEXT J
500 NEXT I
600 GP = 0
610 FOR I = 1 TO N: GP = GP + GL(I) * D(I): NEXT I
620 IF GP < 0 THEN GOTO 680
625 REM найти начальный шаг u, если необходимо,
627 REM изменить направление спуска на противоположное
630 QX = ABS(2 * FP / GP): IF QX > 1 THEN QX = 1
640 FOR I = 1 TO N
650 X(I) = P(I) - QX * D(I): P(I) = X(I): NEXT I
660 GOSUB 5000: FP = Z: PRINT "НЕСТАБИЛЬНОСТЬ?"
670 GOSUB 6000: G1 = G0: GOTO 600
680 QX = ABS(2 * FP / GP): IF QX > 1 THEN QX = 1
690 HH = QX
700 REM НАЙТИ СЛЕДУЮЩУЮ ТОЧКУ Q
710 BB = HH
720 FOR I = 1 TO N
730 Q(I) = P(I) + BB * D(I): X(I) = Q(I)
740 NEXT I
750 GOSUB 5000: FQ = Z
760 GOSUB 6000: G2 = G0
770 GQ = 0
780 FOR I = 1 TO N
790 GQ = GQ + GL(I) * D(I)
800 NEXT I
810 IF GQ > 0 OR FQ > FP THEN GOTO 830
Nitro PDF Trial
www.nitropdf.com
Страницы
- « первая
- ‹ предыдущая
- …
- 67
- 68
- 69
- 70
- 71
- …
- следующая ›
- последняя »