设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5052|回复: 1

[交流] 列表值更改

[复制链接]
发表于 2008-5-5 19:31:33 | 显示全部楼层 |阅读模式
我把问题简化一下:8 b* Z6 x5 j6 Q
有一个随机的列表[1 -1  1 1 1 1 -1 -1 1 -1 1  -1 -1 1 -1]  V- w, U1 e1 q( f/ J2 T+ Q5 ]
针对列表里面的每一个值,按照0.6的概率进行改变。对于每一个值,如果random-float 1 < 0.6 就将其乘以-1。这样就会得到一个新的列表,该怎么写语言啊?
 楼主| 发表于 2008-5-5 20:03:48 | 显示全部楼层

解决!

是得通过两个列表,我也刚想到。
0 b1 X3 Q) U9 L& h! h6 o2 ?to setup-environment
+ r& f; r& C0 N  l   set mylist-environment n-values 10[ifelse-value (random-float 1 < 0.5) [-1][1] ]             8 c% z$ [( f7 i: s
   set mylist-choose n-values 10 [ifelse-value (random-float 1 < p1) [-1][1]]
/ y9 p9 e( G# z8 a; ~, ?$ A. E. F   set mylist-environment  ( map [?1 * ?2 ]  mylist-environment mylist-choose) % x8 l. Y9 y4 C* Q" M
end
7 v; o' I/ r7 Q/ e. n6 w  c呵呵,不知道是不是这个意思。

评分

参与人数 1仿真币 +12 +1 收起 理由
苘苘 + 12 + 1 原创内容

查看全部评分

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

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2025-6-30 06:23 , Processed in 0.012541 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表