МЕТОД РИТЦА PYTHON
Метод Ритца в Python является одним из численных методов решения дифференциальных уравнений. Суть метода заключается в приближенном представлении решения уравнения в виде линейной комбинации некоторых функций-аппроксимантов.
Примерно такой подход представлен в коде:
f = lambda x: x ** 2
g = lambda x: x ** 3
h = lambda x: x ** 4
Определим линейную комбинацию вида $y(x) = a_1 f(x) + a_2 g(x) + a_3 h(x)$ и подставим ее в исходное дифференциальное уравнение. Полученное выражение приравняем к нулю и решим методом наименьших квадратов систему уравнений для определения коэффициентов $a_1$, $a_2$, $a_3$:
A = np.array([[f(0), g(0), h(0)], [f(1/3), g(1/3), h(1/3)], [f(2/3), g(2/3), h(2/3)], [f(1), g(1), h(1)]])b = np.array([0, 0, 0, 0])x = np.linalg.lstsq(A, b, rcond=None)[0]y = lambda x: x[0] * f(x) + x[1] * g(x) + x[2] * h(x)
Теперь функция $y(x)$ может быть использована для приближенного решения дифференциального уравнения, например:
from scipy.integrate import solve_ivpimport matplotlib.pyplot as pltdef fun(t, y): return t*ysol = solve_ivp(fun, [0, 1], [1], t_eval=np.linspace(0, 1, 101))plt.plot(sol.t, sol.y[0], label='solve_ivp solution')plt.plot(sol.t, y(sol.t), '--', label='Ritz method solution')plt.legend()plt.show()
В результате выполнения данного кода мы получим графики точного решения дифференциального уравнения, а также полученного с помощью метода Ритца.
Class Methods in Python - Python Tutorial - Day #69
String Methods in Python - Python Tutorial - Day #13
#50 Python Tutorial for Beginners - __init__ method
[Hindi] Magic/Dunder Methods In Python? - Object Oriented Programming Using Python Tutorial #8
25 nooby Python habits you need to ditch
module level __getattr__ (intermediate) anthony explains #509
3. String Manipulation, Guess and Check, Approximations, Bisection
Magic/Dunder Methods in Python - Python Tutorial - Day #73
dir, __dict__ and help method in Python - Python Tutorial - Day #71
super keyword in Python - Python Tutorial - Day #72
Новые материалы:
- Pd read csv python параметры
- Flask фабрика приложений
- Python как убрать none
- Кастомизация админки django
- Обучение python в новосибирске
- Python как перевернуть словарь
- Как избавиться от nan python pandas
- Как остановить поток в python
- Как разделить код python на несколько файлов
- Python пользовательские типы данных
- Набор науробо основы программирования роботов на языке python
- Как построить линейный график в python