Главная  Радио и связь 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 [ 99 ] 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127

300 приложения

{ noat у; у = eip(z»x); return у; );

ОСНОВНАЯ ПР0ГР]иШ «/

void main О { Int l,n;

tloat a,b,h,s1,s2,s3,x,x1,x2;

clrscr();

prlntf ("Введите значения концов отрезка [a.blXn"); scanf ("%f%f",&a,&b);

prlntf ("Введите число разбиений отрезка n\n"); scanf ("%1",&п);

h = (b - a) / n; x1 = a + h / 2; x2 = a; si = f(x1); s2 = (f(x2) + f(b)) / 2; for (1 = 1; 1 <= n - 1; 1++)

{ xl += h; x2 += h; si += f(xl); s2 += f(x2);

si *= h; s2 *= h; s3 = (2 * si + s2) / 3; prlntf ("\ns1 = %f s2 = %t S3 = %f",s1,s2,s3); prlntf("ЧпЧпНазшите любую клавишу для продолжения..."); getchO;

1 . Блок-схема вычисления определенного интеграла методом двойного пересчета по формуле Симпсона

Вычисления интеграла по формуле Симпсона h ,

fix) йх~[у~у +е Vi-uz

ведут с увеличением числа разбиений п вдвое до окончания приближений при выполнении условия

-j3(n) - 3(2;г) < е. 15

При этом полагают 3 w 3(2fi) с точностью е.



/ввод а.Ь.е/

J0=f(B); fl=f(b); s=tO-fl; 81=(b-a)•(fOff1+4.f((a+b)/2))/6

n = 2

h=(b-a)/n; z1=a+h/2; x2=a+h; s2=s

< 1=1.n >

s2=s2+4.f(xl)+2.I(x2); Xl=x1+li; x2=x2+b

si =

= s2

s2=s2.h/6; cl=js1-s2j/15


d<e

/ Вывод s2,d

[ End ]

2}. Программа вычисления определенного интеграла методом двойного пересчета по фошуле Симпсона на языке BASIC

1 НЕМ %*ч%%%п%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ч%%%п%%%*%%%%%%ш%%

2 REM ВЫЧИСЛЕНИЕ ИНТЕГРАЛА С ЗАДАННОЙ ТОЧНОСТЬЮ epsilon

3 REM МЕТОДОМ ДВОЙНОГО ПЕРЕСЧЕТА ПО ФОРМУЛЕ СИМПСОНА

4 К£Ж

10 DEPINT I, N: CLS

20 PRINT "Введите через запятую значения концов отрезка Ca.bl" 30 INPUT а, b



40 PRINT "Введите точность вычисления epsllon" 50 INPUT е

60 DEP fnf (X) = ЕХР(Х * X)

ТО fO = fnf (а): f1 = fnf(b): s = fO - f1

80 s1 = (b - a) * (fO + f1 + 4 * fnf((a + b) / 2)) / 6

90 n = 2

100 h = (b - a) / n: xl = a + h / 2: x2 = a + h: s2 = s 110 POR 1 = 1 TO n

120 s2 = s2 + 4 * fnf(xl) + 2 * fnf(x2) 130 xl = x1 + h: x2 = x2 + h 140 NEXT 1

150 s2 = s2 * h / 6: d = ABS(s1 - s2) / 15

160 IP d < e THEN GOTO 180

170 si = s2: n - 2 * n: GOTO 100

180 PRINT "Величина интеграла s s2; " Погрешность d = "; d 190 PRINT : PRINT "Для продолжения нажмите любую клавишу..." 200 IF 1ЖЕ¥$ = "" THEN 300 210 END

3. Программа вычисления определенного интеграла методом двойного пересчета по формуле Симпсона на языке PASCAL

program IntegratlonBySimpson;

ВЫЧИСЛЕНИЕ ИНТЕГРАЛА С ЗАДАННОЙ ТОЧНОСТЬЮ epsllon МЕТОДОМ ДВОЙНОГО ПЕРЕСЧЕТА ПО ФОРМУЛЕ СИМПСОНА

uses Grt; var

l,n:Integer;

a,b,d,e,fO,f1 ,h,s,s1 ,s2,x,x1 ,x2:real; clircliar;

<-----------------------------------------------------

ПОДПРОГРАММЫ ПОДЫНТЕГРАЛЬНАЯ ФУНКЦИЯ )

function f(x:real):real; BEGIN

f exp(x*x) END;



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 [ 99 ] 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127


0.0062