24小时热门版块排行榜    

查看: 403  |  回复: 1

renielgx

铁虫 (初入文坛)

[求助] 求高人指点

怎么用程序实现n个数中随机选择4个令其值为a,其余n-4个数的值为b,一共选择1000次?
回复此楼

» 猜你喜欢

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

lds588

铁杆木虫 (著名写手)

愚钝

【答案】应助回帖

★ ★ ★
xiegangmai(金币+3): 谢谢应助! 2011-07-19 19:36:52
引用回帖:
Originally posted by renielgx at 2011-07-19 10:13:59:
怎么用程序实现n个数中随机选择4个令其值为a,其余n-4个数的值为b,一共选择1000次?

CODE:
function ff=lds(xx,m,a,b,k)
%xx里面存n个数
%随机选m个数令其值为a,(n>=m)
%其余n-m个值为b
%执行k次
for j=1:k %选择k次
    n=size(xx,2); %检查有多少个数,即得到n
    z=randperm(n);
    zz=z(1:m); %得到四个从1到n的不重复的随机整数
    xx(1:n)=b; %首先令所有数为b
    xx(1,zz)=a; %再令选中的四个为a,也就实现了——选择4个令其值为a,其余n-4个数的值为b
    ff=xx; %把得到的数据返回
end

调用方式;
CODE:
x=rand(1,996)
f=lds(x,4,2,0,1000)

任意的行向量x选4个赋值为2,其余为0,执行1000次
[url=http://weibo.com/u/2577306830?s=6uyXnP][img]http://service.t.sina.com.cn/widget/qmd/2577306830/fa2fdb00/1.png[/img][/url]
2楼2011-07-19 14:39:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 renielgx 的主题更新
信息提示
请填处理意见