我正在研究绘制函数,我遇到persp
和curve
,但我无法按照它们绘制2D函数。
它们用于表面图,是吗?
如果我有x^2 + y^2
[x,y] in [-3,3]
之类的功能,我该如何解决?
任何链接都会对现有的包(如果是多个)非常感激和批评?金。
感谢。
答案 0 :(得分:9)
要使用persp
,您需要为x
和{的每个组合提供y
的值,z
的值和x
的值{1}}。最简单的方法是定义y
和x
,然后使用y
创建一个跨越outer
和x
的矩阵。您需要指定将两个变量组合为y
的第三个参数的方式,在本例中为函数outer
:
+
您可能也有兴趣旋转结果。以下是使用x <- seq(-3,3,length.out=100)
y <- seq(-3,3,length.out=100)
z <- outer(x^2,y^2,`+`)
persp(x,y,z, col='blue')
参数的一些示例:
theta
编辑:我从您的评论中了解到,您希望对此表面进行2D表示。在基数R中获取该值的最简单方法是使用par(mar=c(1,1,1,1))
layout(matrix(1:4, nrow=2))
s=lapply(c(0,30,60,90), function(t) persp(x,y,z, col='blue', theta=t))
矩阵的image
:
z