楼主: zhou1_20
2657 2

[问答] 下面迭代程序显示参数长度为0,怎么改 [推广有奖]

已卖:689份资源

副教授

20%

还不是VIP/贵宾

-

威望
0
论坛币
18999 个
通用积分
1029.7754
学术水平
146 点
热心指数
166 点
信用等级
135 点
经验
36357 点
帖子
541
精华
0
在线时间
887 小时
注册时间
2015-9-25
最后登录
2025-12-4

楼主
zhou1_20 发表于 2016-3-27 09:58:26 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
theta <- .5
iter=2
hattheta=c()
while ((hattheta[iter]-hattheta[iter-1])^2>10^(-2)){
        hattheta[1]<-theta
        hattheta[iter]=(159*hattheta[iter-1]+68)/(197*hattheta[iter-1]+144)
        print(hattheta)
        iter=iter+1

}

显示错误
Error in while ((hattheta[iter] - hattheta[iter - 1])^2 > 10^(-2)) { :
  参数长度为零

迭代公式为:

\[]\theta^{t+1}=\frac{159\theta^{t}+68}{197\theta^{t}+144}\]

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Theta LaTeX Late atex The Error 程序

回帖推荐

jiangbeilu 发表于2楼  查看完整内容

仔细体会一下代码的运行,你的while循环走不下去啊。

沙发
jiangbeilu 学生认证  发表于 2016-3-27 11:18:52
仔细体会一下代码的运行,你的while循环走不下去啊。
  1. theta <- .5
  2. iter=2
  3. hattheta=c()
  4. hattheta[1]<-theta
  5. hattheta[iter]=(159*hattheta[iter-1]+68)/(197*hattheta[iter-1]+144)
  6. # 前方判断,必须要有初始值,前两个,所以要先计算好
  7. while ((hattheta[iter]-hattheta[iter-1])^2 >10^(-3)){
  8. #这里,需要计算下一个值了
  9.         hattheta[iter+1]=(159*hattheta[iter-1]+68)/(197*hattheta[iter-1]+144)
  10.         print(hattheta[iter+1])
  11. # 把循环体往前推进一个单位
  12.         iter=iter+1
  13. }
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
zhou1_20 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
zhou1_20 发表于 2016-3-27 11:33:43
jiangbeilu 发表于 2016-3-27 11:18
仔细体会一下代码的运行,你的while循环走不下去啊。
但这样出来的迭代结果有问题0.6082474

hattheta
[1] 0.5000000 0.6082474 0.6243211 0.6264889 0.6267773 0.6268156 0.6268207
[8] 0.6268214 0.6268215 0.6268215 0.6268215 0.6268215 0.6268215 0.6268215
[15] 0.6268215 0.6268215 0.6268215 0.6268215 0.6268215 0.6268215 0.6268215
>
这是我用for做20次循环做出来的可以看出稳定在0.628215

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-22 03:26