Персональная страничка
| ||
Предыдущий раздел:
Следующий раздел:
Размерностью рекуррентного соотношения называют размерность (количество компонент) вектора состояния . Соответственно говорят об одномерных или многомерных рекуррентных соотношениях. Программирование вычислений с помощью одномерного рекуррентного соотношения заключается в простом помещении его внутрь цикла. Например, если надо найти 10-й член последовательности , при :
x:=0.5; for i:=1 to 10 do x:=2-x*x;
Если переменных несколько, возникает небольшая тонкость. Для примера рассмотрим двумерное соотношение общего вида:
Если снова поместить эти формулы внутрь цикла, как показано ниже:
for i:=1 to 10 do begin x:=f(x, y); y:=g(x, y); end;
получится, что строчка
x:=f(x, y);
запишет в x значение , которое будет использовано в следующей строке вместо требуемого . Таким образом, чтобы корректно итерировать многомерные рекуррентные соотношения, надо перед вычислением последующего члена последовательности запоминать предыдущее значение. Для двумерного рекуррентного соотношения (2) корректная программа будет выглядеть так:
for i:=1 to 10 do begin x2:=x; {Запоминаем последний из вычисленных членов последовательности} x:=f(x, y); {Вычисляем следующий элемент} y:=g(x2, y); {Для вычислений используем запомненное значение} end;
Другой способ заключается том, что в дополнительные переменные записываются новые члены последовательности. Для двумерного соотношения это будет выглядеть так:
for i:=1 to 10 do begin x2:=f(x, y); {новый член последовательности запоминается в дополнительной переменной x2} y:=g(x, y); x:=x2; end;
Следующий раздел:
Предыдущий раздел: