1383 4

[其他] R语言求助 [推广有奖]

  • 0关注
  • 0粉丝

本科生

0%

还不是VIP/贵宾

-

威望
0
论坛币
252 个
通用积分
15.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1432 点
帖子
5
精华
0
在线时间
139 小时
注册时间
2016-2-8
最后登录
2024-4-17

楼主
非有理化单位制 发表于 2018-7-25 10:49:24 |AI写论文
30论坛币
for(i in 2:N){      
      en[i]=la*M[i]+(1-la)*en[i-1]
      if(en[i]>U )
      {
        AARL0=AARL0+i
        num=num+1
        break
      }
    }
我如果想在这个循环里在第i个循环当en[i]>U时,再给个判断,i是否大于一个常数,大于一个常数就break,然后记录num=num+1,i如果不大于一个常数即使满足en[i]>U,也break,但不记录,怎么改啊?
如果不明白我说的意思,可以问,多谢各位

最佳答案

aut123 查看完整内容

n=10 #定义常数 for(i in 2:N){ en=la*M+(1-la)*en if(en>U && i>n){ AARL0=AARL0+i num=num+1 break }else if(en>U && i
关键词:R语言 break NUM bre AAR

沙发
aut123 发表于 2018-7-25 10:49:25

n=10 #定义常数

for(i in 2:N){      
        en[i]=la*M[i]+(1-la)*en[i-1]
      if(en[i]>U && i>n){       
                AARL0=AARL0+i
                num=num+1
                break
      }else if(en[i]>U && i<=n){
                AARL0=AARL0+i #不知道你这个要记不,不要的话删了就是
                break
        }
}
已有 2 人评分经验 论坛币 收起 理由
giresse + 40 + 10 精彩帖子
admin_kefu + 20 热心帮助其他会员

总评分: 经验 + 40  论坛币 + 30   查看全部评分

藤椅
xjg1983 发表于 2018-7-25 11:39:49
c<-10 ##你需要定义的常数
N<-50
U<-2
la<-2
en<-NULL
en[1:(c-1)]<-0
M<-rnorm(N)
AARL0<-0
num<-0

for(i in c:N){      
      en[i]=la*M[i]+(1-la)*en[i-1]
      if(en[i]>U ) {
        AARL0=AARL0+i  
        num=num+1
        break
      elseif (en[i]<U)
        num=num+1
        break
      }
}
已有 1 人评分论坛币 收起 理由
admin_kefu + 20 热心帮助其他会员

总评分: 论坛币 + 20   查看全部评分

板凳
helloworldilove 发表于 2018-8-1 10:24:48
#常数C赋值
for(i in 2:N){      
        en[i]=la*M[i]+(1-la)*en[i-1]
      if(en[i]>U ){
             AARL0=AARL0+i  
             if(i>C){        
                num=num+1
                break
             }else {
                break
             }
        }
}
已有 1 人评分论坛币 收起 理由
admin_kefu + 20 热心帮助其他会员

总评分: 论坛币 + 20   查看全部评分

报纸
一枝一叶 发表于 2018-8-5 06:10:52
for(i in 2:N){      
        en[i]=la*M[i]+(1-la)*en[i-1]
      if(en[i]>U ){                           #在en[i]>U 的条件下
             AARL0=AARL0+i  
             if(i>C){                           #i是否大于一个常数,大于一个常数就break   
                num=num+1                #记录num=num+1
                break
             }else {                            #不大于一个常数即使满足en[i]>U,也break,但不记录
                break
             }
        }
}
已有 1 人评分论坛币 收起 理由
admin_kefu + 20 热心帮助其他会员

总评分: 论坛币 + 20   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-30 08:11