做直到R中的循环逻辑
do until loop logic in R
我有一个函数 fk,我有另一个函数 calc,我在其中传递 2 个值 x 和 y。我想执行以下操作,直到 fk(x)*fk(y) <0,我想将间隔 (y-x) 加倍。我将如何在 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)
}
您可以使用 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
}
}
您想按照以下方式使用:
calc <- function(x,y) {
while (TRUE) {
g <- fk(x)*fk(y)
if (g < 0) {
break
}
// otherwise double interval (y-x)
}
}
正如我在评论中提到的,不清楚您要如何调整 x
和 y
的值以便 "double" 间隔。一旦你弄明白了,你就可以将所需的代码添加到循环中。
我有一个函数 fk,我有另一个函数 calc,我在其中传递 2 个值 x 和 y。我想执行以下操作,直到 fk(x)*fk(y) <0,我想将间隔 (y-x) 加倍。我将如何在 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)
}
您可以使用 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
}
}
您想按照以下方式使用:
calc <- function(x,y) {
while (TRUE) {
g <- fk(x)*fk(y)
if (g < 0) {
break
}
// otherwise double interval (y-x)
}
}
正如我在评论中提到的,不清楚您要如何调整 x
和 y
的值以便 "double" 间隔。一旦你弄明白了,你就可以将所需的代码添加到循环中。