Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Программа интерполяции по формуле Лагранжа



CLS

PRINT "Интерполяционная формула Лагранжа"

 

INPUT "Введите число точек N="; N

 

DIM X(N), F(N)

FOR I = 0 TO N

PRINT "[X("; I; "), F ("; I; : INPUT ")]="; X(I), F(I)

NEXT I

 

SCREEN 9

'границы экрана

LG = -20 'левая

PG = 20 'правая

NG = -20 'нижняя

VG = 20 'веохняя

WINDOW (LG, NG)-(PG, VG)

 

FOR I = 0 TO N

PSET (X(I), F(I))

CIRCLE (X(I), F(I)), .1, 12

NEXT I

 

‘оси координат

LINE (0, -10)-(0, 10)

LINE (-10, 0)-(10, 0)

 

INPUT "вычислить значение функции для X = "; X

INPUT "с точностью Toch = "; Toch

 

FOR J = 0 TO N - 1

FOR I = J + 1 TO N

F(I) = ((X - X(J)) * F(I) - (X - X(I)) * F(J)) / (X(I) - X(J))

NEXT I

NEXT J

 

PSET (X, F(N - 1))

CIRCLE (X, F(N - 1)), .1

 

F1 = F(N)

 

F1 = FIX(F1) + CINT((F1 - FIX(F1)) / Toch) * Toch

 

IF F1 > VG THEN LOCATE 3, 5: PRINT "Выход за верхнюю границу": GOTO 50

IF F1 < NG THEN LOCATE 3, 5: PRINT "Выход за нижнюю границу"

50

LOCATE 4, 5: PRINT "F"; "("; X; ") ="; F1

 

END

 

 

Решение систем линейных уравнений

 

Метод Гаусса.

 

Это метод решения системы линейных уравнений, состоящий в том, что последовательным исключением неизвестных систему

 

 

приводят к эквивалентной системе с треугольной матрицей:

 

 

Решение матрицы находят по рекуррентным формулам:

 

 

Дана система:

 

 

Построим определители

 

 

Результаты вычислений:

 

x 1 = 25,515 x 2 = 31,070 x 3 = 38,665 x 4 = -5,160

 

Программа решения системы линейных уравнений по методу Гаусса

 

CLS

PRINT "Решение системы линейных уравнений по методу Гаусса"

INPUT "Количество уравнений N = "; N

 

DIM A(N, N + 1), X(N)

 

PRINT "Ввод коэффициентов уравнений:"

FOR I = 1 TO N

FOR K = 1 TO N + 1

IF K = N + 1 THEN PRINT "правая часть:"

PRINT "A ("; I; ","; K; : INPUT ")="; A(I, K)

NEXT K

NEXT I

 

INPUT "точность Toch = "; Toch

 

FOR I = 1 TO N

FOR K = 1 TO N + 1

IF K = N + 1 THEN PRINT "правая часть:"

PRINT "A ("; I; ","; K; ")="; A(I, K)

NEXT K

PRINT

NEXT I

 

U = 0

10

U = U + 1: K = U

20

IF A(K, U) <> 0 THEN 30

K = K + 1: IF K <= N THEN 20

PRINT "система не определена"

END

 

30

IF K = U THEN 40

FOR M = U TO N + l

T = A(U, M)

A(U, M) = A(K, M)

A(K, M) = T

NEXT M

40

FOR J = N + 1 TO U STEP -1

A(U, J) = A(U, J) / A(U, U)

NEXT J

M = N + 1

IF K + 1 > N THEN 50

FOR I = K + 1 TO N

FOR J = U + 1 TO M

A(I, J) = A(I, J) - A(I, U) * A(U, J)

NEXT J

NEXT I

50

IF U <> N THEN 10

FOR I = N TO 1 STEP -1

X(I) = A(I, M)

IF I = 1 THEN 60

FOR K = I - 1 TO 1 STEP -1

A(K, M) = A(K, M) - A(K, I) * X(I)

NEXT K

60

NEXT I

 

PRINT "Решение системы равно:"

FOR I = 1 TO N

X(I) = FIX(X(I)) + CINT((X(I) - FIX(X(I))) / Toch) * Toch

PRINT "X ("; I; ")="; X(I)

NEXT I

 

 

Оптимизация. Методы поиска для функции одной переменной

 

Дана целевая функция:

Вычислим функцию следующими методами:

 

Метод деления пополам

Ответ:

Х = 9,682417Е-02

F = 2,351603Е-05

CLS

10 PRINT "ВВЕДИТЕ ИНТЕРВАЛ"

'NPUT "(A, B)="; A, B

‘A = 0: B = 1

E1 = .00001

X = B: GOSUB 40: F1 = F: IF F = 0 THEN 50

X = A: GOSUB 40: IF F = 0 THEN 50

IF SGN(F1) = SGN(F) THEN GOTO 10

20 X = (A + B) / 2: GOSUB 40

IF SGN(F1) = SGN(F) THEN B = X: F1 = F: GOTO 30

A = X

30 IF ABS(A - B) > E1 THEN 20

X = (A + B) / 2: GOSUB 40: GOTO 50

40 F = -6 + 61 * X + 10 * X ^ 2: RETURN

50 PRINT "X ="; X: PRINT "F = "; F

END

 

 

Метод простой итерации

CLS

'INPUT "X ="; X

‘X = -1 

E1 = .0000000001#

N = 100 

FOR i = 1 TO N

GOSUB 500

IF (F - X) < X * E1 THEN 1000

X = F

NEXT i

PRINT " нет точности"

STOP

500

F = -6 + 61 * X + 10 * X ^ 2

RETURN

1000 PRINT " X ="; X: END

 

Х = 9,682421Е-02

 

 

Метод хорд

 

INPUT "НАЧАЛЬНОЕ ПРИБЛИЖЕНИЕ X1=";X1

Е1=1Е—8

Н=1E—4

100

Х = Х1: GOSUB 500: Y = F

Х = Х1+Н: GOSUB 500

Y = Y * Н / (F —Y)

Х1 =Х1 — Y

IF ABS (Y)>E1 THEN 100

Х = Х1: GOSUB 500

GOTO 1000

F = -6 + 61 * X + 10 * X ^ 2

RETURN

1000

PRINT "КОРЕНЬ. X="; X1

END

 

Х = 9,682424Е-02

 


Поделиться:



Последнее изменение этой страницы: 2019-04-10; Просмотров: 176; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.018 с.)
Главная | Случайная страница | Обратная связь