matlab中如何根据某种规则将一个数组中的元素分配两个不同的数组

假设A=[1,2,3,4,5].我想把A中的元素按照2:3的比例分别分给两个数组B,C。该如何设计程序编写。谢谢

直接用随机排序
x=randperm(5);

B=A(x([1 2]));
C=A(x([3 4 5]));追问

你好,我运行了一下,怎么运行不出来

追答

运行不出来是什么意思?
是报错了,还是没有反应?

运行完在工作空间就会有B和C两个变量

如果要在命令行显示,把最后的分号去掉就可以了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-13
数据是随机分的吗?只要满足2:3的比例就行?追问

恩,因为我考虑着先做最简单的,所以就先只考虑比例,不考虑其他条件的。

追答

如果只是比例的话,可按照先后顺序排序;
A=[1,2,3,4,5];
a=2/5;%比例
N=length(A);
N1=round(N*a);
B=A(1:N1);
C=A(N1+1:N);%B ,C 两个数组就是所求数组,有不懂的可以问我Q498485386.

相似回答