用"曲线"绘制函数:一个棘手的表达方式?

PA6*_*OTA 2 plot curve r vectorization

我的问题涉及一些应该相当简单的问题,但我无法使其发挥作用.我的意思是,你可以计算x和y,然后随着剧情它们plot的功能.但这可以使用该curve功能完成吗?

我想绘制以下R函数f2:

n <- 1
m <- 2
f2 <- function(x) min(x^n, x^(-m))
Run Code Online (Sandbox Code Playgroud)

但是这段代码失败了:

curve(f2, 0, 10)
Run Code Online (Sandbox Code Playgroud)

有什么建议?

Mau*_*ers 6

你需要使用vectorised pmin而不是min(看看?pmin了解差异)

f2 = function(x, n = 1, m = 2) {
    pmin(x^n, x^(-m))
}

curve(f2, from = 0, to = 10)
Run Code Online (Sandbox Code Playgroud)

在一个侧面说明,我会做n和m的参数f2,以避免全局变量.

在此输入图像描述


更新

绘制f2了不同的参数n和m你会怎么做

curve(f2(x, n = 2, m = 3), from = 0, to = 10)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述