在RStudio中绘制两个变量的非线性方程

时间:2017-10-09 17:39:14

标签: r solver

我想在RStudio中绘制0.2 * ln(x / 40)-0.02(x-40)= - 0.04ln(y / 100)+0.004(y-100)。我安装了“操纵”#39;包和使用的plotFun但它没有用。我尝试使用plot.function但我找不到解决方案。请帮忙

1 个答案:

答案 0 :(得分:0)

由于您未提供任何代码,因此不确定您尝试了什么。也许这有帮助:求解z的等式(或设置它= 0),然后给plotFun你的新表达式:

library(manipulate)
library(mosaic)

plotFun(0.2*log(x/40)- 0.02*(x-40) + 0.04*log(y/100) - 0.004*(y-100) ~ 
        y+x, surface=TRUE, ylim=c(0,5), xlim=c(0,5))

如果您只想要z = 0,可以使用contour

xyFun <- function(x,y){
  0.2*log(x/40)- 0.02*(x-40)+0.04*log(y/100) - 0.004*(y-100)
}

x <- y <- seq(0,5, by=0.1)    
z <- outer(x,y,xyFun)

contour(x,y,z, levels=0)

或只是

contour(x,y,z)