首页 > 解决方案 > 使用“曲线”绘制函数:一个棘手的表达式?

问题描述

我的问题涉及一些应该相当简单的事情,但我无法让它发挥作用。我的意思是你可以计算x然后用函数y绘制它们。plot但这可以使用curve函数来完成吗?

我想绘制以下R函数f2

n <- 1
m <- 2
f2 <- function(x) min(x^n, x^(-m))

但是这段代码失败了:

curve(f2, 0, 10)

有什么建议么?

标签: rplotvectorizationcurve

解决方案


您需要使用矢量化pmin而不是min(看看?pmin以了解差异)

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

curve(f2, from = 0, to = 10)

在旁注中,我会提出nm论点f2以避免全局变量。

在此处输入图像描述


更新

绘制不同f2的论点,你会做nm

curve(f2(x, n = 2, m = 3), from = 0, to = 10)

在此处输入图像描述


推荐阅读