有人可以向我解释为什么这两段代码会返回两个不同的东西吗? 第一个:
x<-y<-seq(from=-1,to=1,by=0.1)
one<-function(x,y){
x
}
z<-outer(x,y,FUN=one)
persp(x,y,z)
返回它应该的表面。
while:
x<-y<-seq(from=-1,to=1,by=0.1)
one<-function(x,y){
array(1, dim=length(x))
}
z<-outer(x,y,FUN=one)
persp(x,y,z)
返回:“persp.default中的错误(x,y,z =外(x,y,一)):无效'z'限制”
答案 0 :(得分:2)
对于第二种情况,绘制平面z=1
,您只需要自己指定所需的zlim
,例如
persp(x,y,z,zlim=c(0,2))
persp
函数需要绘制在三维空间中。默认设置是尝试绘制x
,y
和z
的范围,但在这种情况下,z
的范围是退化的。