R - 从 g(x,y)dy 的积分创建函数 f(x)
R - creating a function f(x) from integral of g(x,y)dy
我在 R 中工作,我想知道是否可以创建一个函数 f(x),例如从函数 g(x,y) 对变量 y 的积分中获得在 (0,1) 中,假设:
我试过这个代码
f <- function(x){integrate(function(y){g(x,y),0, 1)}
(使用 g(x,y)
一个显式函数)但它不起作用,除非我修复 x
.
另外一些格式化方面的帮助会很棒,因为这是不可读的!
谢谢!
可用。你可以试试
f <- function(x,y) x + y
f(1,2)
it <- function(x) {
g <- function(y) f(x,y)
integrate(g, 0,1)
}
it(1)
{caracas}
可能就是您要找的。这是一个可重现的例子:
library(reticulate)
library(caracas)
# make symbols x and y:
x <- symbol("x")
y <- symbol("y")
函数g
:
g <- x ** 3 - y ** 3
g
#> [caracas]: 3 3
#> x - y
函数f
(g
w.r.t'y'从0到1的积分):
f <- int(g, var = "y", lower = 0, upper = 1)
f
#> [caracas]: 3 1
#> x - -
#> 4
函数h
(f
w.r.t'x'从0到1的积分):
h <- int(f, var = "x", lower = 0, upper = 1)
h
#> [caracas]: 0
也许你可以试试这个
g <- function(x, y) x^4 + y^2
f <- Vectorize(function(x) {
integrate(function(y) g(x, y), 0, 1)$value
})
你会看到
> f(c(1, 2, 3, 4))
[1] 1.333333 16.333333 81.333333 256.333333
和curve(f, 0, 5)
给出
我在 R 中工作,我想知道是否可以创建一个函数 f(x),例如从函数 g(x,y) 对变量 y 的积分中获得在 (0,1) 中,假设:
我试过这个代码
f <- function(x){integrate(function(y){g(x,y),0, 1)}
(使用 g(x,y)
一个显式函数)但它不起作用,除非我修复 x
.
另外一些格式化方面的帮助会很棒,因为这是不可读的! 谢谢!
可用。你可以试试
f <- function(x,y) x + y
f(1,2)
it <- function(x) {
g <- function(y) f(x,y)
integrate(g, 0,1)
}
it(1)
{caracas}
可能就是您要找的。这是一个可重现的例子:
library(reticulate)
library(caracas)
# make symbols x and y:
x <- symbol("x")
y <- symbol("y")
函数g
:
g <- x ** 3 - y ** 3
g
#> [caracas]: 3 3
#> x - y
函数f
(g
w.r.t'y'从0到1的积分):
f <- int(g, var = "y", lower = 0, upper = 1)
f
#> [caracas]: 3 1
#> x - -
#> 4
函数h
(f
w.r.t'x'从0到1的积分):
h <- int(f, var = "x", lower = 0, upper = 1)
h
#> [caracas]: 0
也许你可以试试这个
g <- function(x, y) x^4 + y^2
f <- Vectorize(function(x) {
integrate(function(y) g(x, y), 0, 1)$value
})
你会看到
> f(c(1, 2, 3, 4))
[1] 1.333333 16.333333 81.333333 256.333333
和curve(f, 0, 5)
给出