24小时热门版块排行榜    

查看: 1107  |  回复: 3

5509553364

新虫 (初入文坛)

[求助] 四个数组中每一个数字进行自由组合,形成新的1*4的数组求编程过程数组如下已有2人参与

u=0.13;
eata=[0.01 0.1 0.5 1 5 10 25 50 75];
a=[0.5 1.5 10 50 100 150 250];
beta1=[1 5 10 50 100 125 150 200];
有这么四个数组,想通过matlab编程,从每一个数组中抽取一个数字,组成一组数列(自由组合),如:{0.13 0.01 0.5 1}等,不知道该如何编程,有没有曾经做过的大神帮我解决一下!谢谢啦!
回复此楼

» 猜你喜欢

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

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

5509553364

新虫 (初入文坛)

2楼2017-03-01 16:41:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pdl9527

专家顾问 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
先用randperm随机生成矩阵内元素的位置,然后将该位置的元素提取出来放到新的矩阵里,用上述方法对问题中的四个矩阵分别进行计算,就得到了你想要的矩阵了,给一个例子:
CODE:
eata(randperm(size(eata,2),1))

3楼2017-03-02 18:24:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

512095518

专家顾问 (正式写手)

【答案】应助回帖

你是想编程求出所有的组合,还是随机生成一组就可以了。
如果是所有组合,借助组合函数nchoosek
如果是随机一种组合,借助随机系列函数,例如randi
没有极限,只有超越!
4楼2017-03-06 16:25:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 5509553364 的主题更新
信息提示
请填处理意见