首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R中简单的while循环进入无限循环

R中简单的while循环进入无限循环
EN

Stack Overflow用户
提问于 2014-08-16 21:20:29
回答 2查看 4.6K关注 0票数 1

我正在尝试编写一个R程序来计算几何级数的和,而不使用如下所示的标准公式:

代码语言:javascript
运行
复制
h <- function(x,n){
    sum.value <- 1
          i <- 1
       while ( i <= n){
          sum.value = sum.value + x^i
      }
return(sum.value)
}

当我运行这段代码时,它进入了一个无限循环。在使用for循环运行它时,我没有遇到任何问题。这真的很奇怪,while循环不适用于while循环,因为while循环比for循环更基本。我错过了什么吗?谢谢。

EN

回答 2

Stack Overflow用户

发布于 2014-08-16 21:25:29

您忘了增加i。我也不明白为什么sum.value以1开头。

代码语言:javascript
运行
复制
h <- function(x,n){
  sum.value <- 0
  i <- 1
  while ( i <= n){
    sum.value = sum.value + x^i
    i <- i+1
  }
  return(sum.value)
}

h(3,5)
#[1] 363

当然,使用矢量化会更有效、更简单:

代码语言:javascript
运行
复制
sum(3^(1:5))
#[1] 363
票数 3
EN

Stack Overflow用户

发布于 2014-08-16 21:26:21

R中的for循环会自动递增。while循环不会。如果你想让它工作,你需要在你的while循环中增加一个i的增量。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25340570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档