R 中有两个参数的函数

Function with two arguments in R

我试图更好地理解函数并在网上找到了一个示例,但无法让它工作。 我想求解方程 a,并有两个参数 v 和 r。 v=10 且 r=3。这是我的代码。我错过了什么?感谢您的见解。

solve <- function(r=3,v=10) {
a <- pi*r*(sqrt(r^2+(9*v^2)/pi^2*r^4)) 
}
return(a)

基于输入。这是更新的代码。不过貌似结果不准确。

solve <- function(r,v){
a <- pi*r*(sqrt(r^2+(9*v^2)/pi^2*r^4)) 
return(a)
}
solve(3,10)

R 给我的结果是 810.4933。但是这个例子说结果是 29.9906。 这是 A 的公式: enter image description here

您需要了解数学表达式中的运算顺序。如果您阅读 ?Ops(有点晦涩,理所当然),您会看到

       2. Group '"Ops"':
            • '"+"', '"-"', '"*"', '"/"', '"^"', '"%%"', '"%/%"'
            • '"&"', '"|"', '"!"'
            • '"=="', '"!="', '"<"', '"<="', '">="', '">"'

这表明 */ 是连续的。不幸的是,

分母
... / pi^2*r^4

被解释为

(... / pi^2) * (r^4)

r^4 带入分子。

添加括号以强制执行操作顺序。

.../(pi^2*r^4)