pi_est<-function(n){
cnt<-0
for(i in 1:n){
x<-runif(1,-1,1)
y<-runif(1,-1,1)
if(x^2+y^2<=1) cnt<-cnt+1
}
return(cnt/n*4)
}
控制台输入>pi_est(100000)
[1] 3.13576
首先有个概念,循环中的变量是i,每次循环之后都会更新i的值,直到循环结束。循环中i的取值范围在1:5。循环中,每次循环都打印出i的结果。
循环结束后,i不再更新,打印i输出的就是i最后一次的取值,并且一直都是这个值,除非你再次给i赋值。
第二个问题,我不知到是不是这个意思,你需要保存每一步循环中得到的结果,最后在循环结束之后全部把它们输出出来。
我就按我理解的这个意思写一下。
t<-array()
for(i in 1:5) t[i]<-i
a<-list(t)a
希望对你有帮助。