Добрый вечер! Имеется двумерное уравнение Пуассона: $$\frac{{{\partial ^2}P}}{{\partial {X^2}}} + \frac{{{\partial ^2}P}}{{\partial {Y^2}}} = f(x,y)$$ Для численных расчётов используется разностная схема: $$\frac{{P_{i + 1,j}^{} - 2P_{i,j}^{} + P_{i - 1,j}^{}}}{{\Delta {x^2}}} + \frac{{P_{i,j + 1}^{} - 2P_{i,j}^{} + P_{i,j - 1}^{}}}{{\Delta {y^2}}} = {f_{i,j}}$$ Область расчётов - прямоугольная. Граничные условия заданы, значения функции f известны. В силу двумерности получается пятиточечная схема, где значение в каждой точке выражается через четыре соседних (две - по X, и две - по Y). Получается система линейных уравнений, где в представлении Ax = b матрица A будет разреженной, симметричной, с пятью "диагональными линиями". Если бы уравнение Пуассона было одномерным, то аналогичная матрица получилась бы трёхдиагональной и решалась бы методом прогонки. Как редуцировать двумерное уравнение к двум одномерным разностным уравениям, чтобы уже их решать прогонкой? Знаю, что подобный метод существует. задан 24 Июн '14 1:02 smeup |
сделайте быстрое преобразование фурье по одной из координат, получится сумма P по всем гармоникам, при этом у преобразованной координаты будет стоять (4sin(pi(k-1)/N))*2. Сумму можно переписать в систему, так как все гармоники ортогональны (точно, даже для БПФ). потом решаете прогонкой по оставшейся координате, делаете обратное БПФ по оставшейся и готово. отвечен 28 Фев '18 20:33 |