R plot隐含函数外部命令

Car*_*rey 2 r

我想绘制x和y的隐式函数: 1 - 0.125 * y ^ 2 - x ^ 2 = 0.005 我知道它可以绘制为等高线图,但在下面的"外部"命令中有问题:

x<-seq(0.4,1.01,length=1000)
y<-seq(0,3,length=1000)
z<-outer(x,y,FUN="1-0.125*y^2-x^2=0.005")
contour(x,y,z,levels=0,drawpoints=FALSE)

我阅读了关于"外部"命令的常见问题解答(7.17)以及对函数进行矢量化的需要,但仍然处于一个quardry中.

Ben*_*ker 5

我觉得你对'功能'的含义有点困惑.函数中的所有操作(+, - ,^)都是矢量化的,所以一切正常.

x <- seq(0.4,1.01,length=1000)
y <- seq(0,3,length=1000)
z <- outer(x,y,function(x,y) 1-0.125*y^2-x^2-0.005)
contour(x,y,z,levels=0,drawlabels=FALSE)
Run Code Online (Sandbox Code Playgroud)

或者如果你想要一个小捷径:

library(emdbook)
curve3d(1-0.125*y^2-x^2-0.005,
        xlim=c(0.4,1.01),
        ylim=c(0,3),
        n=c(100,100),
        sys3d="contour",drawlabels=FALSE,levels=0)
Run Code Online (Sandbox Code Playgroud)

这实际上是较慢的,因为它在for内部而不是使用循环outer(),因此我将其设置为100x100而不是1000x1000(这对于此示例来说无论如何都是过度杀伤),但它将适用于无法轻易矢量化的更复杂的示例...