Error
Skip to main content
Вся размещенная на ресурсе информационная продукция предназначена для детей, достигших возраста шестнадцати лет (16+)
Sorry, the requested file could not be found
More information about this error
Jump to…
Jump to…Новостной форумКомплексные числа. Основы линейной алгебры. Системы линейных уравнений.Векторная алгебра и аналитическая геометрия.Введение в анализДифференциальное исчисление функции одной переменнойДифференциальное исчисление функции нескольких переменныхИнтегральное исчисление функции одной переменнойКратные, криволинейные и поверхностные интегралы. Элементы теории поляОбыкновенные дифференциальные уравненияТеория функций комплексного переменного. Операционное исчислениеУравнения математической физики. Основы вариационного исчисленияЛинейное программирование. Динамическое программированиеТеория вероятностейМатематическая статистикаРядыДискретная математикаМарковские процессы и системы массового обслуживанияЭлементы теории игрЭкономико-математические моделиЛинейная алгебра для экономистовДискретная математика (2017 г.


python — Вычисление двойного интеграла
Вопрос задан
Изменён 1 год 4 месяца назад
Просмотрен 290 раз
Мне нужно вычислить двойной интеграл с помощью dblquad.
У меня ругается вот так: IntegrationWarning: The maximum number of subdivisions (50) has been achieved. If increasing the limit yields no improvement it is advised to analyze the integrand in order to determine the difficulties. If the position of a local difficulty can be determined (singularity, discontinuity) one will probably gain from splitting up the interval and calling the integrator on the subranges. Perhaps a special-purpose integrator should be used.
У меня pix[i,j][0] массив из значений пикселей. n[i]= массив из чисел от 1 до 600 m[j] = 1 до 462
C = [[0] * width for i in range(height)] for i in range(len(n)): for j in range(len(m)): C[i][j] = dblquad(lambda x, y: pix[i, j][0] * math.sin(math.pi*x*n[i]/width)*math.sin(math.pi*y*m[j]/height)*math.sin(math.pi*x*n[i]/width)*math.sin(math.pi*y*m[j]/height), 0, height, lambda x: 0, lambda x: width)
Я просто пытаюсь реализовывать разные методы устранения артефактов\шумов на изображении. Решил попробовать разложить по синусам и косинусам.
- python
- алгоритм
- изображения
0
При высоких частотах синусоида сильно осциллирует, поэтому адаптивный алгоритм выбора делителя интервала на отрезки за 50 итераций не сходится.
Исходный текст dblquad
показывает, что эта функция внутри себя вызывает nquad
. В вашем случае вызов сводится к nquad(ваша_функция, [[0,width], [0,height]], opts={"epsabs": 1.49e-8, "epsrel": 1.49e-8})
Число итераций управляется опцией limit
. Добавьте в параметр opts
пару "limit": 100
или любое другое число.
Но на самом деле я бы рекомендовал вам освоить numpy
и быстрое двумерное преобразование Фурье numpy.fft.fft2
. После этого вы сможете легко и непринуждённо раскладывать изображения на двумерные гармоники специализированным методом rfft2

Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
3.

- Последнее обновление
- Сохранить как PDF
- Идентификатор страницы
- 2242
- Майкл Коррал
- Schoolcraft College
В исчислении с одной переменной дифференцирование и интегрирование рассматриваются как обратные операции. Например, для интегрирования функции \(f (x)\) необходимо найти первообразную функции \(f\), т. е. другую функцию \(F(x)\), производная которой равна \(f (x )\). Есть ли аналогичный способ определения интеграции вещественных функций двух или более переменных? Ответ положительный, как мы скоро увидим. Напомним также, что определенный интеграл неотрицательной функции \(f (x) \ge 0\) представляет собой площадь «под» кривой \(y = f (x)\).

Мы всегда будем называть этот объем «объемом под поверхностью». В приведенном выше выражении используются так называемые повторные интегралы . Сначала функция \(f (x, y)\) интегрируется как функция \(y\), рассматривая переменную \(x\) как константу (это называется интегрированием по \( y\). )). Именно это происходит во «внутреннем» интеграле между квадратными скобками в уравнении \ref{Eq3.1}. Это первый повторный интеграл. После того, как это интегрирование выполнено, результатом будет выражение, включающее только \(x\), которое тогда может быть интегрировано по отношению к \(x\). Это то, что происходит во «внешнем» интеграле выше (второй повторный интеграл). Конечным результатом является число (объем). Этот процесс прохождения двух итераций интегралов называется двойным интегрированием , а последнее выражение в уравнении \ref{Eq3.1} называется двойным интегралом .
Обратите внимание, что интегрирование \(f (x, y)\) по \(y\) является обратной операцией взятия частной производной \(f (x, y)\) по \(y\) . Кроме того, мы могли бы так же легко взять площади поперечных сечений под поверхностью, параллельных плоскости \(xz\), которые тогда зависели бы только от переменной \(y\), так что объем \ (V\) будет 9b f (x, y)dx d y \label{Eq3.3}\]
, где подразумевается, что тот факт, что \(dx\) пишется перед \(d y\), означает, что функция \(f (x, y)\) сначала интегрируется по \(x\) с помощью » внутренние» пределы интегрирования \(a \text{ и }b\), а затем полученная функция интегрируется по y с использованием «внешних» пределов интегрирования \(c \text{ и }d\). Этот порядок интегрирования можно изменить, если он более удобен.
Пример 3.1
Найдите объем \(V\) под плоскостью \(z = 8x +6y\) над прямоугольником \(R = [0,1]\times [0,2]\). 9b f (x)dx\) представляет собой разность площадей под кривой \(y = f (x)\), но выше оси \(x\), когда \(f (x) \ge 0\), и площадь над кривой, но ниже оси \(x\), когда \(f (x) \le 0\). Точно так же двойной интеграл любой непрерывной функции \(f (x, y)\) представляет собой разность объемов под поверхностью \(z = f (x, y)\), но над плоскостью \(x y\) когда \(f (x, y) \ge 0\), и объем над поверхностью, но ниже \(x y\)-плоскости, когда \(f (x, y) \le 0\). Таким образом, наш метод двойного интегрирования с помощью повторных интегралов может быть использован для вычисления двойного интеграла от 9{2\pi} = -sin{\,3\pi}+sin{\,2\pi} — (-sin{\,\pi}+sin{\,0}) \\[4pt] \nonumber & =0 \конец{выравнивание} \]
Эта страница под названием 3.1: Двойные интегралы распространяется в соответствии с лицензией GNU Free Documentation License 1. 3 и была создана, изменена и/или курирована Майклом Корралом с помощью исходного контента, который был отредактирован в соответствии со стилем и стандартами платформы LibreTexts; подробная история редактирования доступна по запросу.
- Наверх
- Была ли эта статья полезной?
- Тип изделия
- Раздел или Страница
- Автор
- Майкл Коррал
- Лицензия
- ГНУ ФДЛ
- Версия лицензии
- 1,3
- Показать страницу TOC
- нет
- Теги
- Двойные интегралы
- повторные интегралы
- источник@http://www.
mecmath.net/
Применение двойных интегралов
В этом разделе рассматриваются…
В главе о линейном интеграле мы ввели понятия среднего значения, центроида и центра масс. Теперь мы распространяем эти идеи на области на плоскости точно таким же образом. Например, формула среднего значения в разделе линейного интеграла была следующей: \(\bar f = \dfrac{\int_C fdx}{\int_C ds}\text{.}\) Для двойных интегралов мы просто меняем \(ds\) в \(dA\text{,}\) и добавить интеграл. Это дает формулу \(\bar f = \dfrac{\iint_R fdA}{\iint_R dA}.\) Та же замена работает для всех интегралов, приведенных выше. Теперь у нас есть \(dm = \delta dA\) вместо \(dm=\delta ds\text{,}\), поскольку теперь плотность представляет собой массу на площадь, а не массу на длину. Мы получили длину дуги кривой \(C\), вычислив \(s=\int_C ds\text{,}\), просто сложив небольшие биты длины дуги. Мы можем получить площадь области \(R\), вычислив \(A=\iint_R dA\text{,}\), поскольку мы просто суммируем небольшие биты площади. 2,
\end{уравнение*}
92) дм
.
\end{уравнение*}
Если вы никогда раньше не работали с кинетической энергией, вы можете пропустить следующее упражнение и просто попрактиковаться в использовании этих формул.
Упражнение 11.2.1
Предположим, что объект, масса которого равна \(m\text{,}\), прикреплен к струне (масса которой настолько мала, что мы ее проигнорируем). Мы вращаем объект вокруг точки, где угловая скорость равна \(\omega\) радианам в секунду. Длина строки (расстояние от точки до центра вращения) равна \(d\text{.}\) 92)\delta dA\text{.}\)
Мы можем думать о области \(R\) на плоскости как о тысячах точек \(P(x,y)\text{,}\), каждая из которых имеет массу \(dm=\delta dA\text{.}\) Поскольку мы вращаем весь объект вокруг оси \(x\) с угловой скоростью \(\omega\text{,}\), каждый маленький кусочек вносит небольшой вклад кинетической энергии. Объясните, почему полная кинетическая энергия области \(R\text{,}\) при вращении вокруг оси \(x\) с угловой скоростью \(\omega\text{,}\) равна
\begin{уравнение*} KE= \frac{1}{2}\left(\iint_R (y^2)dm\right)\omega^2 \end{уравнение*} .
(е)
Не стесняйтесь спрашивать в классе, как это связано с фигурным катанием.
Как изменится приведенная выше формула, если вместо этого мы будем вращать вокруг оси \(y\)? Что, если мы повернемся вокруг начала координат?
Упражнение 11.2.2 Центроид и инерция треугольной области
Рассмотрим треугольную область \(R\) в первом квадранте, ограниченную линией \(\ds \frac{x}{5}+\frac{y}{7}=1\text{.}\) Предположим, что плотность объекта является константой \(\delta = c\text{.}\)
(а)
Нарисуйте область \(R\text{,}\) и дайте оценки для выполнения двойных интегралов по этой области. Проверьте свой ответ с помощью Sage (используйте любое \(f\) для подынтегральной функции, это не имеет значения, поскольку вы просто хотите убедиться, что вы правильно получили оценки).
(б)
Помните, что вы можете проверить свою работу с Sage.
Установите интегральную формулу для вычисления центра масс \(\bar x\) области \(R\text{. }\) Вычислите любые интегралы вручную, чтобы показать, что \(\bar x = \frac{ 5}{3}\text{.}\) Затем сформулируйте предположение для \(\bar y\text{.}\)
(с)
Настройте интегральную формулу для вычисления моментов инерции \(I_x\text{,}\) \(I_y\text{,}\) и \(I_z\text{.}\) Используйте технологию для вычисления \(I_x \text{.}\)
(г)
Вы можете сравнить свои ответы с известными списками, такими как этот список в Википедии.
Если треугольная область имеет углы в точках \((0,0)\text{,}\) \((b,0)\text{,}\) и \((0,h)\text{, }\) укажите центр масс \(\bar x\) и момент инерции \(I_x\text{.}\) Вы сможете завершить эту часть, заменив 5 и 7 в вашей формуле на \( b\) и \(h\), при условии, что вы сначала разложите действительно большие числа, например \(1715 = 5\cdot 343=5\cdot 7\cdot ?…\) (я позволю Вы заканчиваете факторинг).
Когда мы нашли среднее значение, мы хотели, чтобы высота \(\bar f\) была такой, чтобы площадь под \(f\) и площадь под \(\bar f\) были одинаковыми. В виде уравнения мы записали
, а затем, поскольку \(\bar f\) постоянна, мы вытащили его из интеграла, а затем решили для \(\bar f\), чтобы получить
\begin{уравнение*} \bar f \iint_R dA = \iint_R f dA \текст{ или } \ bar f = \ frac{\ iint_R f dA }{\ iint_R dA} . \end{уравнение*}Этот же процесс дает центр масс. Мы могли бы заменить переменное расстояние \(x\) в \(\int_C x dm\) постоянным расстоянием \(\bar x\text{,}\) и затем найти \(\bar x\) в уравнении \(\int_C \bar xdm = \int_C x dm\text{.}\) Если бы вся масса находилась в одном месте, каким должно быть это место, чтобы первые моменты массы были одинаковыми. Радиусы вращения получаются точно таким же образом. Мы будем думать о радиусе вращения как о центре масс вращения.
92)дм}{\iint_R дм}}. \end{уравнение*}, где \(dm=\delta(x,y) dA\text{.}\) Обратите внимание, что в двух измерениях мы имеем \(z=0\text{,}\), поэтому формулы для \(R_x\) и \(R_y\) проще.
Упражнение 11.2.4
Рассмотрим прямоугольную область \(R\) в \(xy\)-плоскости, описанную \(\{(x,y)\ |\ 2\leq x\leq 11, 3\leq y\leq 7\} \text{.}\)
(а)
Составьте интегральную формулу, которая давала бы \(\bar y\) для центроида \(R\text{.}\). Затем вычислите интеграл. 92=9\pi\text{.}\) Мы можем использовать этот факт для упрощения многих интегралов, требующих интегрирования по области \(R\text{.}\)
(a)
Вычислить \(\iint_R 3dA = 3\iint_RdA\text{.}\) [Чем площадь может вам помочь?]
(b)
Объясните, почему \(\iint_R x dA = \bar x A\) для любой области \(R\text{,}\), а затем вычислите \(\iint_R x dA\) для круглого диска. [Вам вообще не нужно настраивать какие-либо интегралы.]
(c)
Вычислите интеграл \(\iint_R 5x+2y dA\), используя данные о центроиде и площади.
Упражнение 11.2.7
Рассмотрим область \(R\) в плоскости \(xy\), состоящую из двух прямоугольных областей. Первая область \(R_1\) удовлетворяет \(x\in[-2,2]\) и \(y\in[0,7]\text{. }\) Вторая область \(R_2\) удовлетворяет \ (x\in[-5,5]\) и \(y\in[7,10]\text{.}\) Найдите центроиды \(R_1\text{,}\) \(R_2\) и затем, наконец, \(R\text{.}\)
Упражнение 11.2.8
Пусть \(R\) будет областью на плоскости с \(a\leq x\leq b\) и \(g(x)\leq y\leq f(x)\text{.}\) Пусть \ (A\) — площадь \(R\text{.}\)
Когда вы используете двойные интегралы для нахождения центроидов, формулы для центроида одинаковы как для \(\bar x\), так и для \(\bar y\text{.}\) В других курсах вы можете увидеть формулы на слева, потому что идеи будут представлены без знания двойных интегралов. Интегрирование внутреннего интеграла из формулы двойного интеграла дает формулы с одной переменной.
(а)
Настройте повторный интеграл для вычисления площади \(R\text{.}\) Затем вычислите внутренний интеграл. Вы должны получить знакомую формулу из исчисления первого семестра. 92)\дельта(х)дх. \end{уравнение*}
Одна из основных причин, по которой мы изучаем массу, центр масс, центроиды и т.