Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Диплом / Приложение4

.doc
Скачиваний:
0
Добавлен:
22.02.2023
Размер:
24.06 Кб
Скачать

Приложение №4

Листинг программы «Метод наименьших квадратов»

CLS

OPEN "D:\printin\Диплом\Расчеты\Перехо~1\regress.tmp" FOR INPUT AS #1

OPEN "D:\printin\Диплом\Расчеты\Перехо~1\Pregress.tmp" FOR OUTPUT AS #2

DIM A(10, 10), B(10), C(2 * 10), X(10)

H1 = 84

DIM X1(H1), Y1(H1)

FOR I = 0 TO H1: X1(I) = I: INPUT #1, Y1(I): NEXT I

CLOSE #1

3 FOR I = 1 TO 10: FOR j = 1 TO 10: A(I, j) = 0: NEXT j: NEXT I

FOR I = 1 TO 10: B(I) = 0: NEXT I

FOR I = 1 TO 20: C(I) = 0: NEXT I

PRINT "Введите степень полинома М="; : INPUT "", n

n = n + 1

h = H1

FOR I = 1 TO h

X = X1(I): y = Y1(I)

f = 1

FOR j = 1 TO 2 * n - 1'

IF j > n THEN 1

B(j) = B(j) + y

y = y * X

1 C(j) = C(j) + f

f = f * X

NEXT j

NEXT I

FOR I = 1 TO n

k = I

FOR j = 1 TO n

A(I, j) = C(k)

k = k + 1

NEXT j

NEXT I

FOR I = 1 TO n - 1

FOR j = I + 1 TO n

A(j, I) = -A(j, I) / A(I, I)

FOR k = I + 1 TO n

A(j, k) = A(j, k) + A(j, I) * A(I, k)

NEXT k

B(j) = B(j) + A(j, I) * B(I)

NEXT j

NEXT I

X(n) = B(n) / A(n, n)

FOR I = n - 1 TO 1 STEP -1

h = B(I)

FOR j = I + 1 TO n

h = h - X(j) * A(I, j)

NEXT j

X(I) = h / A(I, I)

NEXT I

PRINT "Коэффициент полинома "

FOR I = 0 TO n - 1: PRINT "A("; I; ")="; X(I + 1): PRINT #2, X(I + 1): NEXT I: CLOSE #2

2 LOCATE 21, 15: PRINT "Будете пpодолжать pасчет в точках X(I)? D/N"

4 z$ = INKEY$

IF z$ = "" THEN 4

IF z$ = "d" OR z$ = "D" THEN 5

IF z$ = "n" OR z$ = "N" THEN CLS : GOTO 3

GOTO 4

5 LOCATE 21, 15: PRINT STRING$(60, " ")

LOCATE 16, 25: PRINT STRING$(50, " ")

LOCATE 16, 25: PRINT "Введите значение X= "; : INPUT "", z

S = 0

FOR I = n TO 2 STEP -1: S = (S + X(I)) * z: NEXT I

LOCATE 17, 25: PRINT STRING$(50, " ")

LOCATE 17, 25: PRINT "Значение Y(x)="; S + X(I)

GOTO 2

END

Соседние файлы в папке Диплом