3

我用 Mathematica 做了一个情节。我猜,使用 R 可以使这个情节看起来更优雅。

我怎样才能在R中制作这样的情节?

数学图

它是关于函数 M_{\pm}

M^2_\pm = \frac{y \pm \sqrt{14x + 6xy + y^2}}{2x}

以下是在情节上显示

  • 曲线 M^2_+ = M_-
  • 曲线 M^2_+ = 0
  • 曲线 M^2_- = 0
  • M^2_+ 和 M^2_- > 0 的阴影区域
  • 一些带文字的点

在新的情节

  • 轴应该在图的外部,就像在 R 中一样
  • 我欢迎为图片中的文字和箭头提供更优雅的替代方案

PS 借助 RI 的帮助页面尝试制作这样的情节,但我并没有超出情节和曲线的基本使用范围。

更新也许轮廓可以完成这项工作

4

1 回答 1

1

你可以这样做:

f <- function(x,y){x*y}
x <- seq(0.2,2,length=1000)
objective <- 0.5
y <- c()
for(i in 1:length(x)){
  y[i] <- optimize(function(y){abs(f(x[i],y)-objective)},interval=c(0,4))$minimum
}
plot(x,y,type="l")

该图显示了函数 x*y=0.5 的位置,x 介于 0.2 和 2 之间。这不适用于您的特定函数,但我希望这是一个有用的开始。请注意,这是非常hacky,因为速度很optimize慢,并且for通常应尽可能在R中避免循环。

绘制 f(x,y) = x*y = 0.5

于 2012-06-13T04:12:32.910 回答