Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Численное дифференцирование и интегрирование. Численное дифференцирование для равномерно расположенных узлах с интерполяцией реализуется следующими формулами (для 3






Численное дифференцирование для равномерно расположенных узлах с интерполяцией реализуется следующими формулами (для 3. 4 и 5 узлов):

 

- центральная точка и от неё , где - шаг узлов.

Формулы различной точности для первой производной:

 

 

 

 

Формулы численного дифференцирования (производные в центральном узле)

Число узлов П р о и з в о д н ы е Погрешность
         
     
     

Для заданных формул представлена программа на QBasic 4.5

 

5 CLS

10 np = 6: DIM ct(np)

11 DIM st0(10)

20 ct(0) = 6.235: ct(1) = 1.7777: ct(2) = 2.8888: ct(3) = 3.1111

30 ct(4) = 7.3333: ct(5) = 1.555: ct(6) = 9.125

' FOR i = 0 TO 6: PRINT " "; ct(i): NEXT i

40 DEF fnA (x)

50 p = 0: FOR i = 0 TO 6: p = p + ct(i) * x ^ i: NEXT i

60 fnA = p

70 END DEF

'

80 DEF fnB (x)

90 p = 0: FOR i = 1 TO 6: p = p + ct(i) * i * x ^ (i - 1): NEXT i

100 fnB = p

110 END DEF

'

120 DEF fnC (x)

130 p = 0: FOR i = 2 TO 6: p = p + ct(i) * i * (i - 1) * x ^ (i - 2): NEXT i

140 fnC = p

150 END DEF

'

160 x0 = 1.5: x1 = 1.55: h =.2

170 w = (x1 - x0) / h

'

180 t = x0 - 2 * h: y1 = fnA(t)

190 t = x0 - h: y2 = fnA(t)

200 t = x0: y3 = fnA(t)

210 t = x0 + h: y4 = fnA(t)

220 t = x0 + 2 * h: y5 = fnA(t)

'

230 R1 = w -.5: R2 = -2 * w: R3 = w +.5

240 DY3 = (R1 * y2 + R2 * y3 + R3 * y4) / h

250 PRINT " x1 = "; x1; " DY3 = "; DY3; "; toch = "; fnB(x1); " "

260 z1 = -(3 * w ^ 2 - 6 * w + 2) / 6: z2 = (3 * w ^ 2 - 4 * w - 1) / 2

270 z3 = -(3 * w ^ 2 - 2 * w - 2) / 2: z4 = (3 * w ^ 2 - 1) / 6

280 DY4 = (z1 * y2 + z2 * y3 + z3 * y4 + z4 * y5) / h

290 PRINT " x1 = "; x1; " DY4 = "; DY4; " toch = "; fnB(x1)

300 u1 = (2 * w ^ 3 - 3 * w ^ 2 - w + 1) / 12

310 u2 = -(4 * w ^ 3 - 3 * w ^ 2 - 8 * w + 4) / 6

320 u3 = (2 * w ^ 3 - 5 * w) / 2

330 u4 = -(4 * w ^ 3 + 3 * w ^ 2 - 8 * w - 4) / 6

340 u5 = (2 * w ^ 3 + 3 * w ^ 2 - w - 1) / 12

350 DY5 = (u1 * y1 + u2 * y2 + u3 * y3 + u4 * y4 + u5 * y5) / h

360 PRINT " x1 = "; x1; " DY5 = "; DY5; " toch = "; fnB(x1)

'

370 DZ5 = (-y5 + 8 * y4 - 8 * y2 + y1) / 12 / h

380 PRINT " x0 = "; x0; " DZ5 = "; DZ5; " toch = "; fnB(x0)

381 D2Y3 = (y4 - 2 * y3 + y2) / h / h

390 D2Y5 = (-y5 + 16 * y4 - 30 * y3 + 16 * y2 - y1) / 12 / h / h

400 PRINT " x0 = "; x0; " D2Y3 = "; D2Y3; " D2Y5 = "; D2Y5; " toch = "; fnC(x0)

'

410 FOR i = 0 TO 10: st(i) = 0!: NEXT i

420 xp = x0 - 3 * h

430 FOR k = 0 TO 6: t = xp + h * k: st0(k) = fnA(t): NEXT k

440 DP7 = (st0(6) - 9 * st0(5) + 45 * st0(4) - 45 * st0(2) + 9 * st0(1) - st0(0)) / 60 / h

450 PRINT " x0 = "; x0; " DP7 = "; DP7; " toch= "; fnB(x0)

'

460 D2P7 = (2 * st0(6) - 27 * st0(5) + 270 * st0(4) - 490 * st0(3) + 270 * st0(2) - 27 * st0(1) + 2 * st0(0)) / 180 / h ^ 2

470 PRINT " x0 = "; x0; " D2P7 = "; D2P7; " toch= "; fnC(x0)

480 END

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.