我有一个函数foo(x,y),它可以从x,y坐标创建一个3d表面。我需要找到(x,y)的所有值,其中foo = 0。目前,我正在(x,y)搜索网格上的每个点计算foo,但这在计算上是昂贵的。有没有办法给R foo,让它返回(x,y)的所有值,其中foo = 0?
答案 0 :(得分:0)
使用contourLines
:
foo <- function(x,y) x^2 + y^2 - 1
x <- y <- seq(-2, 2, len=200)
z <- outer(x, y, foo)
cr <- contourLines(x, y, z, levels=0)
> x <- cr[[1]]$x
> y <- cr[[1]]$y
> foo(x[10], y[10])
[1] -4.438003e-05