【发布时间】:2017-03-12 14:19:30
【问题描述】:
在 R 中,我希望我的 while 循环继续,直到特定向量“theta_diff”(在每次迭代中的 while 循环中更新)中的每个元素都减小到特定阈值“epsilon”以下。 目前我可以通过在 while 循环测试条件中使用 OR 条件来实现这一点(theta_diff 是一个 2 元素向量):
while((theta_diff[1]>epsilon)|(theta_diff[2]>epsilon))
{
}
我想知道是否有更聪明的方法来做到这一点?我尝试了 all() 但它实现了 AND 逻辑而不是 OR 逻辑,因此即使 theta_diff 元素之一符合条件,while 循环也会停止。
while(all(theta_diff>epsilon))
{
}
寻找更智能选项的主要灵感是:根据程序,theta_diff 向量的维度可能会改变,我想让 while 循环条件独立于 theta_diff 向量的长度。
【问题讨论】:
标签: r loops vector while-loop logical-operators