Вторая пачка часть 128
Ап¬прк¬с謬ма¬ция (3.11) позволяет вычислять интеграл f с точ¬¬¬нос¬тью уже для hx,hy ? 0.1 [Белашов, 1989].
Ограничение на шаг по времени, которое дают фор¬му¬лы (3.7), (3.10), при учете двумер-ности задачи весьма су¬щественно. Кроме того, на каж¬дом временном слое тре¬буется запоминать значения функции на двух пр嬬ды¬-дущих слоях. Поэтому такие срав¬нительно простые схе¬мы, как (3.2) и (3.8), вряд ли целесообразно ис¬поль¬зо¬вать для получения решения в асимптотике . О䬬нако они мо-гут оказаться полезными для мо¬де¬ли¬ро¬вବ¬ния динамики ста¬новления решения на начальной ста¬дии эволюции.
Ниже приводится подпрограмма FNK, ис¬поль¬зу¬ю¬щая фунꬬцию KU, которая осуществляет ав¬то¬ма¬ти¬чес¬кий вы¬бор квадратурной формулы из семейства фор¬мул Нью¬то¬на-Котеса в зависимости от количества уз¬лов сетки, и вы¬¬чис¬ляющая соответствующий интеграл.
Формальные параметры процедур. Входные: p - од¬но¬мерный (real) массив значений подынтегральной функ¬ции раз¬мер¬нос¬тью N; h (тип real) - шаг сетки. Вы¬ход¬ные: фунꬬция fnk возвращает вычисленное зна¬че¬ние инт¬еграла.
FUNCTION FNK ( P : ARRAY OF REAL;
K, N : INTEGER; H: REAL) : REAL;
VAR C,C8 : ARRAY [1..8] OF REAL;
C2 : ARRAY [1..2] OF REAL;
C3 : ARRAY [1..3] OF REAL;
C4 : ARRAY [1..4 OF REAL;
C5 : ARRAY [1..5] OF REAL;
C6 : ARRAY [1..6] OF REAL;
C7 : ARRAY [1..7] OF REAL;
NA, I, J, NJ, N1, D, NZ, JJJ, III : INTEGER;
F : REAL;
FUNCTION KU ( VAR N : INTEGER) : INTEGER;
VAR N1, J, I, ND : INTEGER;
BEGIN
N1:=N-1;
FOR I := 1 TO 7 DO
BEGIN
J := 8 - I;
ND := MOD (N1, J);
IF ND := 0 THEN
BEGIN
KU := J + 1;
EXIT;
END;
END;
KU := J + 1;
END;
BEGIN C2 [1] := 0.5;
C2 [2] := 0.5;
C3 [1] :=0.1666667;
C3 [2] :=0.6666667;
C3 [3] :=0.1666667;
C4 [1] := 0.125;
C4 [2] := 0.375;
C4 [3] := 0.375;
C4 [4] := 0.125;
C5 [1] := 0.0777778;
C5 [2] := 0.3555556;
C5 [3] := 0.1333333;
C5 [4] := 0.3555556;
C5 [5] := 0
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа