首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图R中的约束函数

图R中的约束函数
EN

Stack Overflow用户
提问于 2014-12-01 23:17:21
回答 1查看 129关注 0票数 0

我想画一个函数: f(x,y)=x^2-2*y,有一个约束: x+y=1在我的图函数中重叠,很好地没有看到限制函数f(x,y)。如果x+y-1=0是透明的,会更好。R中的Mi代码:

代码语言:javascript
复制
x <- seq(-5, 5, length= 10)
y <- x
fun1<-function(x,y){x^2-2*y}
m <- outer(x, y, fun1)
m[is.na(m)] <- 1
persp(x, y, m, theta = 30, phi = 30,
      expand = 0.5, col = "royalblue", ltheta = 120,
      shade = 0.75, ticktype = "detailed")
par(new=TRUE)
fun1<-function(x,y){x+y-1}
m <- outer(x, y, fun2)
m[is.na(m)] <- 1
persp(x, y, m, theta = 30, phi = 30,
      expand = 0.5, col = "red", ltheta = 120,
      shade = 0.75, ticktype = "detailed")

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-02 00:27:38

一些过高的计划可能会有帮助。上面评论中建议的第一个情节。然后,通过赋值NA来取消选择违反约束的段,即不使用颜色较重的绘图和过度绘制。(我发现,除非我冻结他们在最后一步“移动”的z限制。您可能需要抑制z轴标签,因为它们仍然相互重叠。)

代码语言:javascript
复制
 png(); x <- seq(-5, 5, length= 10)
y <- x
fun1<-function(x,y){x^2-2*y}
m1 <- outer(x, y, fun1)
m1[is.na(m)] <- 1
persp(x, y, m1, theta = 30, phi = 30,
      expand = 0.5, col = "#4169E155", ltheta = 120,
      shade = 0.75, ticktype = "detailed",zlim=c(-15,35))
par(new=TRUE)

fun2<-function(x,y){x+y-1}
m2 <- outer(x, y, fun2)
m2[is.na(m)] <- 1
persp(x, y, m2, theta = 30, phi = 30,
      expand = 0.5, col = adjustcolor("red", alpha.f=0.5), ltheta = 120,
      shade = 0.75, ticktype = "detailed",zlim=c(-15,35))
par(new=TRUE)

fun3<-function(x,y){x^2-2*y}
m3 <- outer(x, y, fun3)
m3[ m3 < m2 ] <- NA   #     <--- logical indexing; this is the key step
persp(x, y, m3, theta = 30, phi = 30,
      expand = 0.5, col = "#4169E1", ltheta = 120,  # solid-blue
      shade = 0.75, ticktype = "detailed",zlim=c(-15,35));dev.off()

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27239168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档