ВУЗ:
Составители:
84
LOOP WHILE i > E * (B - А)
x = x1: F = F1
END SUB
SUB Func (x, F)
K1 = EXP(-.6304 + 958.1 * (1 / x))
K2 = EXP(-4.884 + 2274 * (1 / x))
F = K1 / (1 + K1 + K2)
REM PRINT x, F
END SUB
4. Подпрограмма нахождения решения уравненияF(x)=0 (Qbasic)
SUB GoldZero (A, B, E, x, F)
REM "Метод золотого сечения"
REM Подпрограмма производит поиск интервала {X1,X2},
REM в котором лежит решение уравнения F(x)=0
REM F(x) определяется в подпрограмме Fx
REM А,В - интервал возвожного варьирования переменной х
REM А - нижний предел; В - верхний предел
REM Е - относительная погрешность вычислений
REM (относительно интервала А - В) (Х2-Х1)<=Е*(В-А)
t1 = .3819660113#: t2 = 1 - t1
x0 = A: x1 = A + t1 * (B - A): x2 = A + t2 * (B - A): x3 = B
CALL Fx(F0, x0)
CALL Fx(F1, x1)
CALL Fx(F2, x2)
CALL Fx(F3, x3)
new: IF ((F0 < 0) AND (F3 < 0)) OR ((F0 > 0) AND (F3 > 0)) THEN
PRINT "на интервале"; x0; " - "; x3
PRINT "уравнение F(x) = 0 имеет несколько решений"
EXIT SUB
END IF
IF F0 < 0 GOTO negative
positive: IF F2 > 0 GOTO pos1
pos2: i = x2 - x0: x3 = x2: x2 = x1: x1 = x0 + t1 * i
F3 = F2: F2 = F1: CALL Fx(F1, x1)
GOTO quit
pos1: i = x3 - x1: x0 = x1: x1 = x2: x2 = x0 + t2 * i
F0 = F1: F1 = F2: CALL Fx(F2, x2)
GOTO quit
negative: IF F2 < 0 GOTO pos1
GOTO pos2
Nitro PDF Trial
www.nitropdf.com
Страницы
- « первая
- ‹ предыдущая
- …
- 82
- 83
- 84
- 85
- 86
- …
- следующая ›
- последняя »