首页 > 解决方案 > 返回某些数学表达式的数值向量的函数

问题描述

所以我想创建一个函数来计算一些数学表达式并返回一个带有答案的向量,我们称之为my_numeric_vector(). 假设我们有表达式 e^(pi/3) 和 cos(pi/6)。我试图创建一个函数,但由于我对 RI 还很陌生,还没有完全掌握它。我试过:

my_numeric_vector()
   x <- c(exp(pi/3),cos(pi/6))
return my_numeric_vector(x)

但是这不起作用,我相信我应该有更多的代码。我想要它做的是以向量形式返回答案,如

[1] 2.84965390823 0.86602540378

或者当我运行该功能时

my_numeric_vector()

它应该直接给出计算。那么我哪里错了?我希望它是一个简单但功能强大的功能。

标签: r

解决方案


我建议只创建一个变量,这样每次调用函数时都不需要计算表达式:

# A function without any input argument thus returning always the same result
my_numeric_vector <- function() {
  c(exp(pi/3),cos(pi/6))
}

my_numeric_vector()
#> [1] 2.8496539 0.8660254

# a vector in which the value is only calculated once
my_numeric_vector2 <- c(exp(pi/3),cos(pi/6))
my_numeric_vector2
#> [1] 2.8496539 0.8660254

由 reprex 包 (v2.0.1) 于 2021-10-05 由reprex ( v2.0.1 )创建


推荐阅读