![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
Krjuger |
![]()
Сообщение
#1
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: ![]() ![]() ![]() |
В общем,я как всегда радую всех,новыми веселыми задачами.Сегодня на повеске дня следующая.
Рассчитать стационарное поле температур в пластине заданной формы. Предусмотреть возможность задания произвольных граничных условий (первого рода) и произвольной правой части (в коде программы). ПОРЯДОК РЕШЕНИЯ ЗАДАЧИ: 1. Составить разностную схему “крест” для уравнения Пуассона в области заданной формы. 2. Проанализировать структуру получившейся системы линейных алгебраических уравнений и составить алгоритм расчета температурного поля. 3. Выписать расчетные формулы метода Зейделя и выбрать начальное приближение на основе задания граничного условия. 4. В качестве критерия окончания использовать условие . Предусмотреть подсчет числа итераций, потребовавшихся для достижения точности . 5. Решить задачу методом Зейделя. 6. Решить задачу методом релаксации. Параметр релаксации подобрать экспериментально. Все фигуры составлены из квадратов с единичной стороной (т.о. вся фигура вписывается в квадрат 3х3). Начало координат выбирается в любом удобном для заданной фигуры месте. Даааа,планы, как говорится грандиозные,не знаешь, как начинать разгребать. Вот фото самой пластины. ![]() К написанию кода я еще не приступил,нужна помощ в выборе реализации,а именно: 1)Как лучше реализовать хранение данных?одним массивом или как 7 массивов,которые с последствии будут склеиваться,чтоб выполнить пункт 1 задания,в общем,на данный момент я не совсем понимаю как лучше реализовать хранение данных,чтобы ими было удобно в последствии оперировать. Буду рад любым идеям. |
![]() ![]() |
Krjuger |
![]()
Сообщение
#2
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 652 Пол: Мужской Реальное имя: Алексей Репутация: ![]() ![]() ![]() |
В общем я начал делать и пришел пока что к следующему.
Так как не важно, как можно повернуть фигуру и с какой угол(сторону) считать точкой отсчета,я развернул фигуру на 90 градусов против часовой оси и за начало взял верхний левый угол. Но тут возникли некоторые проблемы, если N изменить на 2 или более,то начинается пересчет точек,которые считаться не должны,т.к не хватает 1 данного. 0 0 0 0 0 Как видно элементы 0.75(нижний левый) и 2.5(верхний правый) не должны пересчитываться так,как не хватает по 1 числу.Да и в общем то я не совсем уверен,что представление данных в памати компьютера верное и в уравнение Пуассона подставляются именно необходимые элементы.Руками я подставлял и считал для матрици с N=1,там вроде верно,а дальше я не уверен,что будет правильно при других N. Сообщение отредактировано: Krjuger - 2.05.2011 15:02 |
![]() ![]() |
![]() |
Текстовая версия | 31.07.2025 18:33 |