我有一个函数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)
}
答案 0 :(得分:2)
你可以使用r format(round(txn_pd,2),scientific=FALSE)
:
while
您的功能如下:
while (fk(x) * fk(y) < 0) {
interval <- (y-x) * 2
}
答案 1 :(得分:1)
你想在这些方面使用某些东西:
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
的值以便“加倍”间隔。一旦弄明白,就可以将所需的代码添加到循环中。