如何绘制具有多个参数的函数

罗比

我正在尝试在 R 中function(x1,x2,x3,x4){2 * x2 * x4 + x3 ( x1 - 2 * x4)}使用这个函数来绘制图形curve()。但是,我遇到了:

f1(x) 中的错误:缺少参数“x2”,没有默认值

x1 x2 x3并且x4都应该具有不同的最小值和最大值,但是在我可以显示任何图形后我会担心

CodeNoob

曲线
正如我在评论中已经提到的,我不明白你为什么要使用curve因为它被构建为接受单一范围的数字,例如 1,2,3,4,然后对其应用公式。这使得绘图变得简单,因为输入数字形成 x 轴(因此是 1,2,3,4...),而公式结果绘制在 y 轴上。在你的情况你没有一个单一的输入范围(其实你有四个范围:x1x2x3x4),你不能在5D画出这样你必须选择一个x1:x4以显示在x轴上。你也有2 * x2 * x4 + x3 ( x1 - 2 * x4)公式但是.. x3 ( ..不能被 R 直接解释所以我添加了 * 来制作2 * x2 * x4 + x3 * ( x1 - 2 * x4) 但是,如果您的意思是 X3 应该与括号内的数字相乘,您应该编辑下面代码中的公式

替代方案
正如您提到的“x1 x2 x3 和 x4 都应该具有不同的最小值和最大值”,我建议您简单地编写自己的绘图函数,如下所示(我现在显示x1在 x 轴上):

range.plot <- function( func, x1.range, x2.range, x3.range, x4.range ) {
  # Apply formula
  res <- data.frame(x = x1.range, y = func(x1.range, x2.range, x3.range, x4.range))

  # Plot using ggplot2
  ggplot(res, aes(x, y)) + geom_line()
}


fun <- function(x1,x2,x3,x4){2 * x2 * x4 + x3 * ( x1 - 2 * x4)} # note the added *
range.plot(fun, seq(1,10), seq(10,29), seq(5,14), seq(1,10))

这将产生这个情节:
在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将具有多个参数的函数传递给python parallel.futures.ProcessPoolExecutor.map()?

Ninject具有多个参数的构造函数

如何在Pandas选定的列数据框上应用具有多个参数的函数

如何将具有多个参数的函数传递给期望只有一个参数的函数的子例程?

具有多个参数的函数中的Javascript默认参数

具有多个参数的函数方差

如何将具有多个默认参数的函数包装为仅具有一个参数?

如何在python中映射具有多个参数的函数

具有多个参数的动态调用函数

Scala,如何指定具有多个特征的函数参数?

在Python中绘制具有多个变量的符号函数

如何使rspec具有多个参数?

具有可变参数参数的多个构造函数

如何在r中将向量用作具有多个参数的函数的参数

如果一个参数在单个参数的函数中具有多个值,如何从pl / sql函数获取数据

如何在Boost C ++中对具有多个参数的函数使用二等分方法

如何使脚本具有多个参数?

如何重载具有多个参数的函数?C ++

如何避免将空参数传递给具有多个可选参数的函数?

PostgreSQL:具有多个日期参数的函数

如何创建具有多个参数的路线?

具有多个参数的反应函数

如何在 gnuplot 上绘制具有不同参数值的函数?

具有无限多个(未命名)参数的函数 - 如何正确访问这些参数?

如何从C中具有多个参数的函数调用单个参数?

如何在打字稿中正确重载具有多个参数的函数?

具有多个参数的多个回调函数

如何在 Hindley-Milner 中表示具有多个参数的函数?

如何使用 purr::map 传递具有多个参数的多个函数?