【问题标题】:do until loop logic in R直到R中的循环逻辑
【发布时间】:2015-11-07 04:52:05
【问题描述】:

我有一个函数 fk,我还有另一个函数 calc,我在其中传递了 2 个值 x 和 y。我想做以下事情,直到 fk(x)*fk(y) R 中实现这一点。我在逻辑上苦苦挣扎,任何帮助将不胜感激,

fk <- function(x) {
    return((x*x)-(3*x)+4)
}

calc <- function(x,y) {  
    g <- fk(x)*fk(y)

    until g < 0 do 
    double the interval (y-x)
}

【问题讨论】:

  • 如果xy作为单独的参数传入,我们如何才能将间隔加倍?

标签: r while-loop repeat do-while


【解决方案1】:

你想按照这些思路使用一些东西:

calc <- function(x,y) { 
    while (TRUE) {
        g <- fk(x)*fk(y)
        if (g < 0) {
            break
        }
        // otherwise double interval (y-x)
    }
}

正如我在评论中提到的,不清楚您要如何调整 xy 的值以“加倍”间隔。一旦弄清楚了,就可以将所需的代码添加到循环中。

【讨论】:

    【解决方案2】:

    您可以使用while

    while (fk(x) * fk(y) < 0) {
        interval <- (y-x) * 2
    }
    

    你的函数看起来像:

    calc <- function(x,y) {  
    
     while (fk(x) * fk(y) < 0) {
            interval <- (y-x) * 2
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-05
      • 1970-01-01
      • 2018-06-11
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多