0.0000E+00| 0.1700E+39
-------------------------------------------------------------------------------
0.1000E-06| 0.5730E+09
-------------------------------------------------------------------------------
Так как значения аргументов в двоичном представлении являются периодическими дробями, изначально существует некоторая погрешность их округления. Во время исполнения программы (с увеличением аргументов на шаг), эта погрешность увеличивается. Поэтому нуля как такового мы не получим, а получим лишь близкое к нему значение. Чтобы его обнаружить, будем сравнивать значения y и sy.
В качестве бесконечности возьмем значение 1.7e+38.
2) Невидимый шаг
xmin=-1.009e-7; xmax=1.001e-7; sx=1e-11; ymin=0; ymax=0; sy=0.
X|Y | 0.0000E+00
----------------------------------------------------------------------------------------------------------------
-0.1009E-06|-0.5681E+09
----------------------------------------------------------------------------------------------------------------
-0.1008E-06|-0.5687E+09
----------------------------------------------------------------------------------------------------------------
-0.1007E-06|-0.5693E+09
----------------------------------------------------------------------------------------------------------------
-0.1006E-06|-0.5698E+09
----------------------------------------------------------------------------------------------------------------
-0.1005E-06|-0.5704E+09
----------------------------------------------------------------------------------------------------------------
В этих тестах мы видим, что при одинаковых значениях аргумента значение функции разное. Это происходит из-за того что заданный шаг очень маленький и при отображении аргументов с четырьмя знаками в мантиссе он просто незаметен, вследствие чего неравные аргументы отображаются в таблице как равные. Чтобы предотвратить возникновение этого явления, вводим функцию, которая записывает текущее значение аргумента и следующее значение в две строки (в формате G11.4) и сравнивает их. Если они равны, не выводим текущее значение (и соответствующую ему функцию) в таблицу.
3) Диагональ бесконечностей
xmin=-0.01; xmax=0.05; sx=0.01; ymin=-0.05; ymax=0.01; sy=0.01.
X|Y |-0.5000E-01|-0.4000E-01|-0.3000E-01|-0.2000E-01|-0.1000E-01| 0.0000E+00| 0.1000E-01
----------------------------------------------------------------------------------------------------------------
-0.1000E-01| -954.9 | -1146. | -1432. | -1910. | -2865. | -5730. | 0.1700E+39
--------------------------------------------------------------------------------------------------------------------------
0.0000E+00| -1146. | -1432. | -1910. | -2865. | -5730. | 0.1700E+39| 5730.
--------------------------------------------------------------------------------------------------------------------------
0.1000E-01| -1432. | -1910. | -2865. | -5730. | 0.1700E+39| 5730. | 2865.
--------------------------------------------------------------------------------------------------------------------------
0.2000E-01| -1910. | -2865. | -5730. | 0.1700E+39| 5730. | 2865. | 1910.
--------------------------------------------------------------------------------------------------------------------------
0.3000E-01| -2865. | -5730. | 0.1700E+39| 5730. | 2865. | 1910. | 1432.
--------------------------------------------------------------------------------------------------------------------------
0.4000E-01| -5730. | 0.1700E+39| 5730. | 2865. | 1910. | 1432. | 1146.
--------------------------------------------------------------------------------------------------------------------------
0.5000E-01| 0.1700E+39| 5730. | 2865. | 1910. | 1432. | 1146. | 954.9
--------------------------------------------------------------------------------------------------------------------------
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.