Наука молодых - page 454

" Н а у к а м о л о д ы х " , 2 6 н о я б р я 2 0 1 9 г . , А р з а м а с
П о с в я щ а е т с я 8 5 - л е т и ю в ы с ш е г о п е д а г о г и ч е с к о г о о б р а з о в а н и я в А р з а м а с е и
8 0 - л е т и ю п р о ф е с с о р а В я ч е с л а в а П а в л о в и ч а П у ч к о в а
452
Корректность полученного результата аналитическим способом не
вызывает сомнений. С другой стороны алгоритм программной реализации
также корректен, синтаксис программного кода полностью соответствует
стандарту языка C++. Одним из способов повлиять на результат является
использование 8-ми байтовых типов данных для вещественных чисел. Меняя
третью строчку программы на
#define
REAL
double
, получаем результат,
представленный на рис. 3. Нетрудно заметить, что развал решения произошѐл
позже, чем при использовании 4-х байтовых переменных. Следовательно,
причина ошибки в самом рекуррентном соотношении Мюллера.
Рассмотрим рекуррентное соотношение (1). Переходя к пределу, можно
показать, чтов зависимости от начальных данных
1 2
,
x x
возможны три предела
последовательности:
 
 
 
1
2
3
3,
5,
100
x
x
x
  
. Исследуя на устойчивость
каждый из пределов при наличии малых возмущений, можно установить
неустойчивость пределов
 
 
1
2
3,
5
x
x
 
и устойчивость предела
 
3
100
x
.
Применительно к исходной задаче, оценим
n
x
при
1
n
из
рекуррентного соотношения Мюллера при малых отклонениях предыдущих
членов последовательности:
2
2
1
1
5 ,
5
n
n
n
n
x
x
 
 
 
(4)
где
.1
,1
1
2
n
n
Рис. 3. Результат работы изменѐнной программы на C++
1...,444,445,446,447,448,449,450,451,452,453 455,456,457,458,459,460,461,462,463,464,...1404
Powered by FlippingBook