Вторая пачка часть 117


000000 0.000000 0.000000 Сумма: -0.199704 -0.0049866 0.00001570 у14 - у1: -0.199704 -0.004987 0.0000157 {**** ПРОЦЕДУРА “МЕТОД ЭЙЛЕРА С УТОЧНЕНИЕМ” ***} FUNCTION EYLER ( X,Y,H,EPS : REAL) : REAL; VAR YK, Y0 : REAL; DN : BOOLEAN; BEGIN DN := FALSE; Y0 := Y + FUNC (X,Y) * H; REPEAT YK := Y + FUNC (X,Y0) * H * 0.5; IF ABS ( YK - Y0) < EPS THEN DN := TRUE; Y0 := YK; UNTIL DN; EYLER := Y0; END; { ** ПРОЦЕДУРА "МЕТОД АДАМСА " ** } BEGIN FOR I := 1 TO 20 DO XI[I] := 0.0; DYI := XI; Y0 := YN; YI:=XI; QI:= XI; DQI := XI; D2QI:= XI; D3QI:=XI; YSH:=XI; X0 := A; XI[1] := X0; YI[1] := Y0; I := 1; YSH [1] := FUNC (X0,Y0); QI[1] := H*YSH[1]; REPEAT Y := EYLER (X0,Y0,H,EPS); INC (I); X0 := X0 + H; Y0 := Y; XI[I] := X0; YI[I] := Y; YSH [I] := FUNC (X0,Y0); QI[I] := H*YSH[I]; DQI[I-1] := QI[I] - QI[I-1]; IF I>2 THEN D2QI[I-2] := DQI[I-1]-DQI[I-2]; IF I>3 THEN D3QI[I-3] := D2QI[I-2]-D2QI[I-3]; UNTIL I >= 4; REPEAT DYI[I]:= QI[I]+0.5*DQI[I-1]+5*D2QI[I-2]/12+ 3*D3QI[I-3]/8; INC(I); X0 := X0 + H; XI[I] := X0; YI[I] := YI[I-1] + DYI[I-1]; YSH [I] := FUNC (XI[I],YI[I]); QI[I] := H*YSH[I]; DQI[I-1] := QI[I] - QI[I-1]; D2QI[I-2] := DQI[I-1]-DQI[I-2]; D3QI[I-3] := D2QI[I-2]-D2QI[I-3]; UNTIL I=10; END; Формальные параметры процедуры. Входные: а, b (тип real) - начало и конец от¬резка, на котором ищут ре¬ше¬ние; h (тип real) - шаг раз-би¬е¬ния отрезка [а, b]; ЕРS (тип re¬al) - заранее заданное ма¬лое число (используется для оп¬ре¬-деления первых че¬ты¬рех значений уi методом Эйлера с уточ¬¬не¬ни¬ем); уN - начальное у0. Перед началом работы сле¬ду¬ет определить процедуру-функ¬цию, по ко¬то¬рой вы¬чис¬ля¬ют правую часть диф¬фе¬рен¬ци¬аль¬ного урав¬не¬ния f (х, у). Вы-ходные: массив уi (тип real) зна¬че¬ний уi, най-денных ме¬тдом Адамса. Для тестирования и проверки процедуры пре¬д¬¬ла¬га¬ет¬ся вычислить при х = 0
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


лучшие гостиницы, гостиница шереметьево, гостиница химки рядом
Hosted by uCoz