Skip to content

Solving problems from the course on the basics of computational physics

License

Notifications You must be signed in to change notification settings

fuodorov/computational-physics

Repository files navigation

Основы вычислительной физики

Решение задач из курса по основам вычислительной физики.


Найти эпсилон (ulp.py)

Условие

Машинным $\epsilon$ называется такое число, что 1 + $\epsilon/2 = 1$, но $1 + \epsilon \not ={1}$. (Также часто используется обозначение ULP - unit in the last place, или unit of least precision, единица в младшем разряде.) Найти машинное $\epsilon$, число разрядов в мантиссе, максимальную и минимальную степени, при вычислениях с обычной и двойной точностью. Сравнить друг с другом четыре числа: $1, 1 + \frac{\epsilon}{2},1+\epsilon,1+\epsilon+\frac{\epsilon}{2}$, объяснить результат.

Указания

При использовании Python воспользуйтесь типами np.float32 и np.float64.


Решить уравнение (solve.py)

Условие

Используя методы дихотомии, простых итераций и Ньютона, найти уровень энергии $E$ основного состояния квантовой частицы в прямоугольной потенциальной яме.


Вычислить интегралы (int.py)

Условие

Вычислить интегралы методом трапеций и Симпсона:

  1. $\int\frac{1}{1+x^2}dx$

  2. $\int x^3e^{\sin(x)}dx$

Как убывает погрешность численного интегрирования с ростом числа интервалов?


Вычислить производную (int.py)

Условие

Используя интегральное представление для функции Бесселя целового индекса $m$ и вычисляю производную с помощью конечной разности в тех же точках, что и сам интеграл, продемонстрировать выполнение равенства $J_0'(x) + J_1(x) = 0$ с точностью не хуже $10^{-10}$ на отрезке $[0, 2\pi]$.


Провести интерполяционный полином (polynom.py)

Условие

Провести интерполяционный полином $P_n(x)$ для $n = 4, ..., 15$ через точки $x_k = -5 + k*\frac{10}{n}$, $y_k = \frac{1}{1 + x_k^2}$, $k = 0, ..., n$. Построить графики полиномов.


Решить задачу Коши (cauchy.py)

Условие

Решить задачу Коши методом Эйлера первого порядка точности и методоами Рунге-Кутты второго и четвертого порядка точности.


Решить систему уравнений хищник-жертва (lotka_volterra.py)

Условие

Решить систему уравнений хищник-жертва методом Рунге-Кутте второго порядка точности. Нарисовать фазовые траектории.


Решить жесткую систему уравнений (rigid1.py)

Условие

Решить жесткую систему уравнений.


Методом прогонки решить разностный аналог граничной задачи (run1.py)

Условие

Методом прогонки решить разностный аналог граничной задачи для уравнения $y'' = \cos(x)$ на промежутке $(-\pi/2, \pi/2)$


Решить задачу Коши для одномерного уравнения теплопроводности (crank.py)

Условие

Решить задачу Коши для одномерного уравнения теплопроводности методом Кранка-Николсон. На каждом шаге по времени найти максимальное значение температуры и нарисовать зависимость максимальной температуры от времени. Показать, что на больших временах она убывает экспоненциально. Исследовать сходимость схемы Кранка-Николсон.


Найти уровень энергии и волновую функцию основного состояния в потенциальной яме (schrodinger.py)

Условие

Найти уровень энергии и волновую функцию основного состояния в потенциальной яме, решая конечномерный аналог спектральной задачи для одномерного стационарного уравнения Шредингера.


Вычислить график спектра мощности (fourier.py)

Условие

Вычислить и построить график спектра мощности. Сравнить спектры, полученные с прямоугольным окном и окном Ханна.


Курсовая работа

Условие

В качестве итоговой курсовой работы взят код redpic.