Читаем Вычислительная математика полностью

Программа реализует оба метода – ТРАПЕЦИЙ и СИМПСОНА для функции f(x) с подбором шага интегрирования.


public double f(double x)             {return x-Math.Cos(x);}


while (Math.Abs(r – r1) > p) { r1 = r; s=0; x=0;

if (radioButton1.Checked == true) k = n; else k = 2 * n;

h = (b – a) / k; for (int i=1;i<=k-1;i++) { x=x+h;

if (radioButton1.Checked == true) s = s + f(x);

                               else s = s+(3+Math.Pow(-1,i-1))*f(x); }

if (radioButton1.Checked == true) { r = h * (f(a) + f(b) + 2 * s) / 2; }

else { r = h * (f(a) + f(b) + s) / 3; }

n = n + 10; } textBox1.Text=Convert.ToString(r);

textBox2.Text=Convert.ToString(n);

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

VAR I,K:INTEGER; Е,Z,Z0,Z9,H,S:REAL;

FUNCTION F(X:REAL):REAL;

BEGIN F:=SQRT(1.0-Z*SQR(SIN(X)); END;

PROCEDURE SIMPE(A,B,E:REAL; FUNCTION F:REAL;VAR S:REAL);

VAR I:INTEGER; C1,H,H2,S1,S2,S3,X:REAL;

BEGIN E1:=E*15.0; H:=(B-A)/2;

S:=2*F(A+H); S1:=F(A)+F(B)+S; S:=S1+S;

REPEAT S2:=0.0; S3:=S; H2:=H; H:=H/2; X:=A+H;

WHILE (X0.0) DO BEGIN S2:=S2+F(X); X:=X+H2; END; S2:=2*S2; S1:=S1+S2; S:=S1+S2; UNTIL ABS(1.0-S/(2*S3))<=C1; S:=S*H/3.0;END;

BEGIN

REPEAT WRITE ('C,Z0,Z9,H?');READLN(C,Z0,Z9,H); K:=ROUND((Z9-Z0)/Н+1.0); Z:=Z0;

FOR I:=1 TO К DO BEGIN SIMPE(0.0,3.1415925/2,E,F,S);

WRITELN(Z,' ',S); Z:=Z+H; END; UNTIL FALSE; END.

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

10 DEF FNA(Х) =SQR(1-Z*SIN(X)^2)

20 PRINT "E,Z0,Z9,H1";: INPUT E,Z0,Z9,H1

30 A=0 : B=PI/2

40 FOR Z=Z0 ТО Z9 STEP H1

50 GOSUB 100

40 PRINT Z,S : NEXT Z

90 GOTO 10

100 E1=E*15 : H=(B-A)/2

110 S=2*FNA(A+H) : S1=FNA(A)+FNA(B)+S : S=S1+S

120 S2=0 : S3=S : H2=H : H=H/2

130 FOR X=A+H TO В STEP H2 : S2=S2+FNA(X):NEXT X

140 S2=2*S2 : S1=S1+S2 : S=S1+S2

150 IF ABS(1-S/(2*S3))>E1 THEN 120

140 S=S*H/3

190 RETURN

Метод МОНТЕ-КАРЛО

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

Геометрическая интерпретация метода:

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

10 DEF FNY(X)=COS(P*X-Z*SIN(X))

20 PRINT "ВАРИАНТ"; : INPUT I

30 PRINT "N,P,Z"; : INPUT N,P,Z

35 A=0 : B=PI

40 IF I = 1 THEN GOSUB 100

50 IF I=2 THEN GOSUB 200

60 PRINT "S="S/PI

90 GO TO 20

100 H=B-A : S=0

110 FOR I = 1 TO N : S=S+FNY(A+RND(1)*H) : NEXT I

120 S=H*S/N

190 RETURN

200 H=B-A : S=0 : R=0

210 F=FNY(A+RND(1)*H)

Перейти на страницу:

Похожие книги

Тайны и секреты компьютера
Тайны и секреты компьютера

Эта книга предназначена для тех, кто самостоятельно осваивает мир информационных технологий. Программирование в среде Microsoft Office, устройство сетей Internet и Fidonet, работа системы электронной почты, структура системного реестра Windows и файловой системы, строение жидкокристаллических дисплеев и проблема наличия различных кодировок русского языка, — про все это рассказывается в ней. Многообразие тем и легкий стиль изложения сделают ее вашим спутником на долгое время, и вы всегда сможете найти в ней нужную именно в данный момент информацию.Если Вы интересуетесь компьютерными технологиями, желали бы расширить свои знания и умения в этой области, то она Вам наверняка понравится.http://comptain.nm.ru

Антон Александрович Орлов , Антон Орлов

Фантастика / Фэнтези / Прочая компьютерная литература / Книги по IT / Зарубежная компьютерная, околокомпьютерная литература