Полезные мелочи¶
Погрешности присутствуют при работе с любыми действительными (не целыми). Компьютер не является исключением. Как компьютер округляет числа?
Для действительного числа (тип DOUBLE) в компьютере выделено место для хранения около 16-и десятичных знаков. Какие законы математики не выполняются для таких чисел?
Относительная погрешность представления действительных числа в компьютере (тип DOUBLE) составляет порядка \(10^{-16}\). Много это или мало?
Задания¶
Вычислите выражения: «x = 1/3» и «x=1/3.0» в чем разница? Почему результаты различаются?
- Выполните программу и объясните результат.
a = 1e8 b = 6.02e23 print 'a = ',a print 'b = ',b,'\n' print 'b-(b-a) = ',b-(b-a) print 'b-b+a = ', b-b+a,'\n' print '(b+a)-b-a = ',(b+a)-b-a print '(b+a)-a-b = ',(b+a)-a-b,'\n' print 'b-(b-a/4) = ',b-(b-a/4) print 'b-b+a/4 = ', b-b+a/4
Вы хотите на компьютере вычислить траектории движения большого числа атомов. Для вычислений используете стандартнй тип DOUBLE. Начальные положения атомов соответствует простой кубической решетке с параметром 1,0. Какое максимальное число атомов можно использовать в вычислениях если при смещении атомов допустим шаг не более 0,01 параметра решетки? Можно ли использовать такое моделирование для работы с 1 молем частиц (\(6,022*10^{23}\) частиц)?
Подсказки¶
- Используйте функцию type(), чтобы узнать тип данных.
- Попробуйте изменять параметры в программе. Что происходит?
- Рассмотрите одну из осей модели. Вдоль нее размщается \(\sqrt[3]{N}\) частиц. Найдите координату последней частицы. Можно ли ее сдвинуть на 0,01 параметра решетки? Учтите, что координаты могут быть отрицательны. Что изменится если все три координаты будут отличны от нуля?