Чтение онлайн

ЖАНРЫ

Вычислительная математика
Шрифт:

VAR X1, X2, X, Y1, Y2: REAL;F : BOOLEAN;

BEGIN

X1 := A; X2 := B; F := TRUE;

WHILE F DO

IF ABS (X1 – X2) > EPS THEN

BEGIN

Y1 := COS(2/X1) – 2*SIN(1/X1) + 1/X1; X := (X1 + X2)/2;

Y2 := COS(2/X) – 2*SIN(1/X) + 1/X;

IF ABS(Y2) > EPS THEN

IF Y1*Y2 > 0 THEN X1:= X ELSE X2:= X

ELSE F := FALSE END ELSE F:= FALSE;

WRITELN (‘КОРЕНЬ

УРАВНЕНИЯ ’,X);

END.

Ответ 1,875

Пример программы на языке Basic

10 DIM P(9)

20 PRINT " А,В,Е " ; : INPUT А,B,Е

30 PRINT "СКОЛЬКО ПАРАМЕТРОВ"; : INPUT N

40 FOR К=1 TO N : PRINT "Р"К; : INPUT Р(К) : NEXT К

50 GOSUB 100

60 PRINT "Х=”Х

90 GOТО 20

100 Х=А : GOSUB 200

110 S=SGN(F)

120 X = (А+В)/2 : GOSUB 200

130 IF ABS(F)<Р(2) THEN RETURN

140 IF SGN(F)=S THEN A=X : GOTO 160

150 B=X

160 IF B-A>E THEN 120

190 RETURN

200 R=1 : R1=SQR(1-Х)

210 R2=(R+R1) /2 : R1=SQR (R*R1) : R=R2

220 IF R-R1 >P(2) THEN 210

230 F=R*P(1)-PI/2

290 RETURN

Пример программы на языке Pascal

VAR P: ARRAY [1..9] OF REAL; A,B,X,E:REAL;N,K:INTEGER;

FUNCTION F(X:REAL):REAL;

VAR R,R1,R2: REAL;

BEGIN R:=1.0; R1:=SQRT (1.0-X); WHILE R-R1 >P[2] DO BEGIN

R2:=(R+R1)/2; R1:=SQRT(R*R1); R:=R2; END;

F:=(R+R1)*P[1]-3.14159265; END;

FUNCTION SGN(X:REAL):INTEGER;

BEGIN SGN:=0;

IF X<0.0 THEN SGN:=-1;

IF X>0.0 THEN SGN:=1; END;

PROCEDURE DICH(VAR A,В,X,E,E1:REAL; FUNCTION F:REAL);

VAR I:INTEGER; R:REAL;

BEGIN I:=SGN(F(A)); WHILE B-A>E DO BEGIN

X:= (A+B) /2; R:=F(X); IF ABS(R)<E1 THEN EXIT;

IF SGN(R)=I THEN A:=X ELSE B:=X;END;END;

BEGIN

REPEAT WRITE(‘A,B,E?'); READLN(A,В,E); WRITE('СКОЛЬКО

ПАРАМЕТРОВ? '); READLN(N);

FOR K:=1 TO N DO BEGIN

WRITE(‘P(‘,K:2, ')? '); READLN (Р[К]);END;

DICH(A,B,X,E,P[2],F); WRITELN('X=’,X); UNTIL FALSE; END.

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

Уравнение f(x)=0 представляется в виде x=(x),где (x)определяется одним из способов:

(x)= x – f(x),где =const

(x)= x + (x)f(x), где (x)-произвольная функция не имеющая корней на отрезке (a/b).

Метод простой итерации определяется формулой: xn+1=(xn), n=0,1,2,3… где n-номер итерации,x0– произвольно заданное начальное приближение.

Процесс сходится к корню уравнения, если на отрезке (ab) выполняется условие: '(x) <= q < 1.

Конец ознакомительного фрагмента.

123
Поделиться с друзьями: