Приближенное вычисление определенных интегралов (двойного, тройного) |
Приближенное вычисление определенных интегралов (двойного, тройного) |
Yurka |
Сообщение
#1
|
Пионер Группа: Пользователи Сообщений: 143 Пол: Мужской Репутация: 0 |
Какие методы (алгоритмы) можно использовать для вычисления двойных, тройных определенных интегралов. Интересуют методы по которым можно написать программу.
|
Lapp |
Сообщение
#2
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
для вычисления двойных, тройных определенных интегралов А вычислять одномерные ты знаешь, как? Я вижу существенную разницу только в том, как задавать (или отслеживать) границы области интегрирования. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Yurka |
Сообщение
#3
|
Пионер Группа: Пользователи Сообщений: 143 Пол: Мужской Репутация: 0 |
А вычислять одномерные ты знаешь, как? Я вижу существенную разницу только в том, как задавать (или отслеживать) границы области интегрирования. Обычные одномерные знаю как. Писал раньше прогу на Delphi (для методов Симпсона и трапеций). Эти методы можно использовать для двойных и тройных интегралов? если можно, то подскажите как. |
Lapp |
Сообщение
#4
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Обычные одномерные знаю как. Писал раньше прогу на Delphi (для методов Симпсона и трапеций). Повторяю: основная сложность - с заданием границ интегрирования. Но если они простые (то есть кнстанты, и область интегрирования тем самым прямоугольная), то - какая сложность с применением старых методов? В простейшем варианте, их можно просто логически разбить на два (или, соответственно, три) этапа. Делаешь два (три) вложенных цикла. То есть заменяешь двойной (тройной) интеграл на два (три) вложенных - вот и все. То есть действуешь буквально по определению:Эти методы можно использовать для двойных и тройных интегралов? если можно, то подскажите как. (двойной интеграл от x1 до x2 и от y1 до y2) F(x,y) dx dy = (интеграл от x1 до x2) ((интеграл от y1 до y2) F(x,y) dy ) dx В чисто вычислительном плане это может быть не очень эффективно, но так ты мог бы даже использовать свои старые программы (если у тебя функция передается в параметрах). Более эввективно, конечно, считать тройной цикл с непосредственным суммированием F(x,y)*dy*dy. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Yurka |
Сообщение
#5
|
Пионер Группа: Пользователи Сообщений: 143 Пол: Мужской Репутация: 0 |
Повторяю: основная сложность - с заданием границ интегрирования. Но если они простые (то есть кнстанты, и область интегрирования тем самым прямоугольная), то - какая сложность с применением старых методов? В простейшем варианте, их можно просто логически разбить на два (или, соответственно, три) этапа. Делаешь два (три) вложенных цикла. То есть заменяешь двойной (тройной) интеграл на два (три) вложенных - вот и все. То есть действуешь буквально по определению: (двойной интеграл от x1 до x2 и от y1 до y2) F(x,y) dx dy = (интеграл от x1 до x2) ((интеграл от y1 до y2) F(x,y) dy ) dx В чисто вычислительном плане это может быть не очень эффективно, но так ты мог бы даже использовать свои старые программы (если у тебя функция передается в параметрах). Более эввективно, конечно, считать тройной цикл с непосредственным суммированием F(x,y)*dy*dy. Спасибо, вроде прояснилось. Границы в идеале должен задавать пользователь. Если не трудно, пару слов скажите по эффективности упомянутых алгоритмов (какой наиболее эффективный), чтобы не перебирать все. Может лучше использовать метод Монте-Карло? Сообщение отредактировано: Yurka - |
Текстовая версия | 22.12.2024 9:20 |