Математический форум Math Help Planet
Обсуждение и решение задач по математике, физике, химии, экономике Теоретический раздел |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
новый онлайн-сервис число, сумма и дата прописью |
|
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Страница 1 из 1 |
[ Сообщений: 2 ] |
|
Автор | Сообщение | |
---|---|---|
constantin01 |
|
|
[math]\begin{array}{c} \frac{\partial u}{\partial t}+a \frac{\partial u}{\partial x}=f(x, t), \quad a>0 \\ 0 \leqslant x \leqslant 1,0 \leqslant t \leqslant 1 \\ u(x, 0)=\varphi(x), \quad x \in[0,1] \\ u(0, t)=g_{1}(t), \quad t \in[0,1] \end{array} \begin{array}{c} \frac{U_{j}^{n+1}-U_{j}^{n}}{\tau}+a \frac{U_{3}^{n}-U_{j-1}^{n}}{h}=f_{j}^{n}, \\ j=\overline{1, M} ; \quad U_{0}^{n+1}=g_{1}^{n+1} \end{array} \begin{aligned} a &=0.23 \\ u(x, t) &=x^{3}-\sin (2 \pi t x)*0.5+2.5 t x \end{aligned}[/math] Вот код на Python Код: import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation c = 0.23 xmin = 0 xmax = 1 n = 10 X, dx = np.linspace(xmin,xmax,n,retstep=True) T, dt = np.linspace(xmin,xmax,n,retstep=True) def u(x,t): return x*x*x - np.sin(2*np.pi*t*x)/2 + 2.5*t*x def initial_u(x): return x*x*x def f(x,t,a): return 2.5*x - np.pi*np.cos(2*np.pi*t*x) + a*(2*np.pi*np.pi*t*t*np.sin(2*np.pi*t*x) + 6*x) U = [] # explicit euler solution def u(x, t): if t == 0: # initial condition return initial_u(x) uvals = [] # u values for this time step for j in range(len(x)): if j == 0: # left boundary uvals.append(U[t-1][j] + c*dt/(2*dx)*(U[t-1][j+1]-U[t-1][n-1])) elif j == n-1: # right boundary uvals.append(U[t-1][j] + c*dt/(2*dx)*(U[t-1][0]-U[t-1][j-1])) else: uvals.append(U[t-1][j] + c*dt/(2*dx)*(U[t-1][j+1]-U[t-1][j-1]) + dt*f(X[j], T[t], c)) return uvals for t in range(10): U.append(u(X, t)) plt.plot(X,U[-1]) Из разностной схемы выражаю: [math]u_{j}^{n+1}=u_{j}^{n}+c \Delta t \frac{u_{j+1}^{n}-u_{j-1}^{n}}{2 \Delta x} + f(x,t)*\Delta t[/math] Кажется все просто, но что-то не работает.. какая-то дичь получается. Что не так? Может кто-нибудь скинет рабочий код на любом языке? Я посмотрю, сравню. |
||
Вернуться к началу | ||
Emphatic18 |
|
|
Когда то писал решение уравнения теплопроводности с помощью МКР
[math]\frac{\partial U}{\partial t} = D \frac{\partial^2 U}{\partial x^2}[/math] это не совсем то, но принцип похож ▼ код
|
||
Вернуться к началу | ||
[ Сообщений: 2 ] |
Похожие темы | Автор | Ответы | Просмотры | Последнее сообщение |
---|---|---|---|---|
Явная конечно-разностная схема
в форуме Численные методы |
1 |
306 |
02 июн 2019, 14:06 |
|
Явная формула для предела f(x) в степени g(x)
в форуме Пределы числовых последовательностей и функций, Исследования функций |
1 |
140 |
27 сен 2021, 01:11 |
|
Программирование уравнения переноса
в форуме Информатика и Компьютерные науки |
6 |
578 |
04 фев 2017, 17:57 |
|
Построение методом параллельного переноса
в форуме Геометрия |
5 |
711 |
28 апр 2018, 21:37 |
|
Решение уравнения переноса с помощью схемы Кранка-Николсона
в форуме Численные методы |
2 |
954 |
03 мар 2017, 17:09 |
|
Как можно менять знаки переменных без переноса за знак равно
в форуме Алгебра |
7 |
340 |
04 фев 2020, 08:17 |
|
Схема
в форуме Электричество и Магнетизм |
0 |
361 |
07 июн 2015, 18:50 |
|
Схема | 4 |
292 |
28 ноя 2017, 18:00 |
|
Схема Бернулли?
в форуме Теория вероятностей |
1 |
254 |
20 май 2018, 09:32 |
|
Схема Горнера
в форуме Информатика и Компьютерные науки |
0 |
762 |
03 июл 2021, 22:36 |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14 |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |