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)
我试图更好地理解函数并在网上找到了一个示例,但无法让它工作。 我想求解方程 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)