Двойной интеграл в R с 2 переменными - PullRequest
0 голосов
/ 02 апреля 2020

Извините. Но я все еще не понимаю, как я могу получить свой вопрос из этих ответов. Мой вопрос следующий.

Я хотел бы закодировать этот расчет в R:

enter image description here

С моей стороны это становится 141, 66666666 π. Я знаю, как взять интеграл, если оба интеграла от точных чисел, используя adaptIntegrate (). Но я не уверен, как это сделать в моем случае. Не могли бы вы, ребята, помочь мне? Заранее большое спасибо.

Ответы [ 2 ]

0 голосов
/ 02 апреля 2020

Аналогичный результат вы получите, дважды интегрировав функцию с 1-димом. процедура интеграции, такая как integrate в Base R.

f = function(x) {
    integrate(function(y) {sqrt(1 - (x/5)^2 - (y/8.5)^2)},
              0, 8.5*sqrt(1 - (x/5)^2))$value
}

(res = 2.5 * integrate(Vectorize(f), 0, 5)$value)
## [1] 55.63237

Ваш ручной расчет, вероятно, неверен.

0 голосов
/ 02 апреля 2020

С pracma::integral2:

library(pracma)

fun <- function(x,y) sqrt(2.5^2 * (1 - x^2/5^2 - y^2/8.5^2))
xmin <- 0; xmax <- 5
ymin <- 0; ymax <- function(x) sqrt(8.5^2 * (1-x^2/5^2))

integral2(fun, xmin, xmax, ymin, ymax)
# $Q
# [1] 55.6333
# 
# $error
# [1] 6.555276e-06

Результат не такой, как у вас.

...