ZX Review #1-2
31 декабря 1996

Спектрум в школе - статья о численных методах "Метод Зейделя решения СЛАУ".

<b>Спектрум в школе</b> - статья о численных методах
                          СПЕКТРУМ В ШКОЛЕ

         ИФК.:   Пугачев  Андрей Николаевич из г.Ковров, Владимирской области,
предлагает на суд читателей ZX РЕВЮ свой материал, посвященный численным
методам.
         КОРР: в ZX РЕВЮ 1993 года было напечатано несколько статей о
численных  методах. Но потом эта очень интересная тема была забыта. Чтобы
как то вернуть справедливость, я специально для журнала написал три программы
на  бейсике  по  численным методам.  Это программа  решения  СЛАУ "методом
Зейделя" (очень полезная вещь - является модификацией метода простых
итераций), и две программы по поиску минимума функций:  метод золотого
сечения и метод дихотомии.

                  Метод Зейделя решения СЛАУ.

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

│A11 A12 A13 ... A1n│ │B1│
│A21 A22 A23 ... A2n│ │B2│
│A31 A32 A33 ... A3n│ │B3│
│... ... ... ... ...│ │..│
│An1 An2 An3 ... Ann│ │Bn│

         Программа на Бейсике:

5 REM Ввод
10 DIM A(30,30) : DIM B(30) : DIM Z(30) : DIM D(30) : DIM X(30)
20 INPUT "Количество уравнений (<=30)";KOLUR
40 INPUT "Погрешность метода";EPS
50 FOR I=1 TO KOLUR
60 FOR J=1 TO KOLUR
70 INPUT "Введите A[i,j]";A(I,J)
80 PRINT "A[";I;",";J;"]=";A(I,J)
90 NEXT J
100 INPUT "Введите B[i]";B(I)
110 LET Z(I)=B(I)/A(I,I)
120 PRINT "B[";I;"]=";B(I)
130 NEXT I
135 REM Analiz
140 FOR I=1 TO KOLUR
150 FOR J=1 NJ KOLUR
160 IF ABS (A(I,I)) < ABS (A(I,J)) THEN PRINT "Нет сходимости!": STOP
170 NEXT J
180 NEXT I
185 Solution
190 LET S=0 : REM Счетчик итераций
200 LET K=0 : REM Признак точности решения
210 FOR I=1 TO KOLUR
220 LET D(I)=-B(I)
230 FOR J=1 TO KOLUR
240 LET D(I)=D(I)+A(I,J)*Z(J) : REM Вычисление "невязок"
250 NEXT J
260 IF ABS (D(I)/A(I,I)) > EPS THEN LET K=1: REM Точность не достигнута
270 LET X(I)=Z(I)-D(I)/A(I,I) : REM Корректировка решения
280 LET Z(I)=X(I) : REM Заполнение для использования на данной итерации
290 NEXT I
300 LET S=S+1
310 PRINT "Итерация номер ";S
320 FOR I=1 TO KOLUR
330 PRINT "X[";I;"]=";X(I);" delta_X=";-D(I)/D(I,I)
340 NEXT I
350 PRINT "Для продолжения нажмите Enter"
355 PAUSE 0
360 IF K<>0 THEN GO TO 200 : REM Точность достигнута
365 REM Result
380 PRINT "Результаты: "
390 PRINT "Количество итераций = "; S
400 FOR I=1 TO KOLUR 
410 PRINT "X[";I;"]=";X(I)
420 NEXT I


                       Метод "Золотого сечения" поиска
                           минимума функции y=F(x)


10 LET C=0.618 : LET D=0.382
13 INPUT "Hачало отрезка = ";A : INPUT "Конец отрезка = "; B : IF A>=B THEN
   GO TO 13
15 INPUT "Допустимая погрешность = "; EPS : GOSUB 58 : GOSUB 70
21 IF Y1>Y2 THEN GO TO 36
26 LET B=X2 : LET X2=X1 : LET Y2=Y1
27 GOSUB 58 : GO TO 43
36 LET A=X1 : LET X1=X2 : LET Y1=Y2
37 GOSUB 70
43 IF ABS (B-A) > EPS THEN GO TO 21
50 PRINT "Результат: "
52 LET X=(A+B)/2 : PRINT "X_min=";X : STOP
58 LET X1=C*A+D*B : LET X=X1 : GOSUB 82 : LET Y1=Y : RETURN
70 LET X2=D*A+C*B : LET X=X2 : GOSUB 82 : LET Y2=Y : RETURN
82 LET Y=......................... : REM Здесь вводится исследуемое уравнение


                      Поиск минимума одномерной функции
                             методом "дихотомии"

10 DEF FN F(X)=................ : REM Здесь вводится функция 
20 INPUT "Hачало отрезка "; A
30 INPUT "Конец отрезка "; B
40 INPUT "Допустимая погрешность "; EPS
50 REM Metod
60 LET I=0
70 LET C=(A+B)/2
80 IF FN F(C-EPS/10) < FN F(C+EPS/10) THEN GO TO 100
90 LET A=C-EPS/10 : GO TO 110
100 LET B=C+EPS/10
110 LET I=I+1
120 PRINT "C=";C;"Итерация номер: "; I
130 IF (B-A) > EPS THEN GO TO 70
140 PRINT "Результат: "
150 PRINT "X_min=";C;" Количество итераций = "; I



Другие статьи номера:

Визитная карточка - обзор электронных журналов для ZX Spectrum.

Компьютерная новелла - По игре " The Saga"

Компьютеры, которые мы выбираем - Доработка компьютера "ATM-TURBO".

Спектрум в школе - статья о численных методах "Метод Зейделя решения СЛАУ".

Вступление - приветствие от редакции журнала.

Новые программы - копировщик ABCDcopy и утилита для форматирования гибких дисков Floppy Format.

Форум - вопросы и ответы по играм: Jungle Warrior, Buratino, Streaker, Paris Dakar, Bloodwych, Hero Quest, Apollo, Cliff Hanger, Cyber Hordes, Paradise Valley, Star Drive, Laser Platoon, Movie, Where Time Stood Still, The Sceptre, Carrier Command и т.д.

Советы экспертов - по стратегической игре Wellingsto at Waterloo.

Советы экспертов - по стратегической игре Napoleon.

Советы экспертов - по игре Star Fox.

Перекресток драконов - Dungeons & Dragons (первая глава книги об адвентюрных играх).

TR-DOS для начинающих - 5-я глава книги "Общие сведения по дисковой системе ТР ДОС".

Возвращаясь к напечатанному - последний файл диззасемблера TR-DOS.

Читатель-читателю - О железе, софте и прочем компьютера Profi...

Читатель-читателю - Востановление утерянной информации.

Читатель-читателю - Спектрум и Экспертная система.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
WАRRАХ - Сaтaнa: Бoг или Анти-Бoг?
Софт - Rеаl Infоrmаtiоn Pасkеr vо.21bеtа. zх-Chаrts #оэ. Dерrеss 1. Infо #о1 оf nеtSрес. еb'lkа. неrеsY #о9. Sрbzхnеt Pоintоvkа.
Ликбез - ликбез о Хакерах по материалам еженедельника "КомпьюТерра".

В этот день...   14 апреля