R语言 函数的输出不随输入的变化而变化

llew8vvj  于 2023-07-31  发布在  其他
关注(0)|答案(1)|浏览(120)

有人知道为什么输出永远不会改变吗?

response <- function(sw, r, delta) {
  exp(0.05795)*exp((1.60217662E-19^2)/8*pi*298*1.381E-23*8.854E-12*(1/sw*((1/r)-(1/(r+delta+0.008399)))-1/2.2*(1/r-1/(r+delta))))-1
}

value<-response(1,1,1)
formatted_value <- format(value, nsmall = 20)
print(formatted_value)

"0.05966201128512360619"

value<-response(2,2,2)
formatted_value <- format(value, nsmall = 20)
print(formatted_value)

"0.05966201128512360619"

字符串
无论我如何改变输入,输出总是“0.05966201128512360619”。这与Excel中的结果不一致。
谢谢你,谢谢

gudnpqoy

gudnpqoy1#

你至少有3e-70的指数。您需要一个如此小的数字来检测变化:

response(1, 1e-70, 1)
[1] 6.857331
response(1e-70, 1, 1)
[1] 5.700413

字符串
这是因为在某一时刻

1.60217662E-19^2/8*pi*298*1.381E-23*8.854E-12
[1] 3.673078e-70


你必须克服这个因素。

相关问题