如何从向量中找出满足abs(nn)>bb条件的首个值?(R语言场景)
R语言实现反向查找满足条件的x值
步骤1:计算固定值nn
nn的表达式不含变量x,可先算出固定值:
nn <- sqrt(30) * (0.3 / sqrt(1 - 0.3^2))
计算结果约为1.7018。
步骤2:反向遍历bn向量找目标x
从bn的末尾(0.99)开始逐个检查,找到第一个满足abs(nn) > bb的x:
bn <- seq(0.5, 0.99, 0.01) # 反向遍历bn向量 for (x in rev(bn)) { # 计算对应x的bb值,原表达式x+(1-x)/2可简化为(1+x)/2 bb <- qt((1 + x)/2, 30) # 判断条件,找到首个符合值就终止循环 if (abs(nn) > bb) { cat("找到的首个满足条件的x值:", x, "\n") break } }
运行结果
执行代码后会输出:找到的首个满足条件的x值:0.96
内容的提问来源于stack exchange,提问作者temor
相关产品推荐
相关产品推荐

