24小时热门版块排行榜    

查看: 1908  |  回复: 6

yh8910

铁虫 (小有名气)

[求助] 用命令流选择单元 已有1人参与

我需要随机选择一些单元,已经产生了一组随机数,放在了38*1的array型数组w中,现在的问题是怎么快速地将这些随机号码(单元号)的单元选择出来呢?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小左儿

银虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
利用循环命令流:
*Do

*Enddo

设置一个变量i,范围从0到数组长度
循环读取数组里面的单元号储存在一个你定义的变量里面
在利用esel,,,number选出这个单元
微信公众号:CAE技术分享
2楼2014-06-05 16:59:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yh8910

铁虫 (小有名气)

引用回帖:
2楼: Originally posted by 小左儿 at 2014-06-05 16:59:49
利用循环命令流:
*Do

*Enddo

设置一个变量i,范围从0到数组长度
循环读取数组里面的单元号储存在一个你定义的变量里面
在利用esel,,,number选出这个单元

能再具体点吗?比如循环读取数组里面的单元号怎么实现?还有esel,,,number这个命令流是通过单元编号来选择单元吗?
3楼2014-06-05 18:19:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小左儿

银虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★
yh8910: 金币+5, 很有用,谢谢你 2014-06-06 08:27:03
先选出第一个,比如5号单元
esel,s,,,5
*Do,i,2,38
numb=array(i)
esel,a,,,numb
eplot
*enddo
微信公众号:CAE技术分享
4楼2014-06-05 18:30:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yh8910

铁虫 (小有名气)

引用回帖:
4楼: Originally posted by 小左儿 at 2014-06-05 18:30:53
先选出第一个,比如5号单元
esel,s,,,5
*Do,i,2,38
numb=array(i)
esel,a,,,numb
eplot
*enddo

嗯。非常感谢。可以再问你一个问题吗?我生成的那些随机数字里有一部分是重复的,这导致我最后选择的单元少于我需要选择的单元个数,怎么让我所产生的随机数字不重复呢?我产生随机数的命令流是:
*dim,w,array,1500                               !取1500个单元
*dim,ww,array,1500                              
*vfill,w,rand,7026,14696                      !从单元号为7026到14696                        的单元中选取单元
*do,i,1,1500                                       
ww(i)=nint(w(i))
*if,ww(i),eq,0,then
ww(i)=1
*endif
*enddo
5楼2014-06-06 08:26:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小左儿

银虫 (正式写手)

这个的话还是用循环处理吧,我提供一个思路
新建一个新的数组
通过循环,将随机产生的数组里面的元素没有重复的放入新的数组里面,一直到结束

你自己试试应该可以,需要定义两个循环变量i,j,其实就是c语言的基础东西
微信公众号:CAE技术分享
6楼2014-06-06 08:33:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yh8910

铁虫 (小有名气)

引用回帖:
6楼: Originally posted by 小左儿 at 2014-06-06 08:33:01
这个的话还是用循环处理吧,我提供一个思路
新建一个新的数组
通过循环,将随机产生的数组里面的元素没有重复的放入新的数组里面,一直到结束

你自己试试应该可以,需要定义两个循环变量i,j,其实就是c语言的基 ...

好的,再次感谢!
7楼2014-06-06 08:52:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yh8910 的主题更新
信息提示
请填处理意见