gpt4 book ai didi

r - 为什么 "Uniroot"命令给出不同的结果

转载 作者:行者123 更新时间:2023-12-01 11:47:50 24 4
gpt4 key购买 nike

我对 uniroot 命令有疑问。我无法以合乎逻辑的方式提出我的问题,因为我不知道为什么在下面示例的第二种情况下每次结果都不同。在第一种情况下,我的 f 函数的结果总是相同的:

library(mvtnorm)
f <- function(y1_upr,y2_upr = -0.05453663,target = 25e-4,df=3) {
pmvt(upper = c(y1_upr,y2_upr),df = df) - target
}
uniroot(f,c(-10000,10000))$root

但我不知道为什么当我在同一个函数中添加另一个参数时,结果每次都会改变(见下文):

g <- function(y1_upr,
y2_upr = -0.05453663,
y3_upr = -0.06236616,
target = 25e-4,
df = 3) {
pmvt(upper = c(y1_upr,y2_upr,y3_upr),df = df) - target
}
uniroot(g,c(-10000,10000))$root

你会看到每次你使用带有 g 函数的 uniroot 命令,它都会给你不同的结果。有人对此有想法吗?我能找到修正结果的方法吗?

最佳答案

为了选择起点,该算法可能涉及一些随机性度量。尝试:

set.seed(1) 
uniroot(g,c(-10000,10000))$root

关于r - 为什么 "Uniroot"命令给出不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14348438/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com