各位matlab大神求助一个问题,怎么样在一维数组中随机的选择两个数,

然后将前面的一个数插入到后面的那个数后面,代码怎么写?比如:a=[13568]... 然后将前面的一个数插入到后面的那个数后面,代码怎么写?比如:a=[1 3 5 6 8] 展开
 我来答
52spn
2015-03-12 · TA获得超过2193个赞
知道大有可为答主
回答量:3322
采纳率:60%
帮助的人:573万
展开全部
你好,如果允许重复,用: A(randi(length(A),1,2))
如不允许重复,用:A(randperm(length(A),2))。
插到后面是什么意思,是给回原数组吗?
这个你直接for循环读就可以了
更多追问追答
追问
比如a=[1 3 5 6 8]  随机选择出了 3和6 ,现在要求将3插入到6的后面,最后是:
a=[1 5 6 3 8] 麻烦您给我写一下啊,谢谢了
追答
编码如下,因为你只有一维数组,所以语句替换下。
a=[1 3 5 6 8];
index=randperm(length(a));
b=a(index);
c=b(1);
d=b(2);
[i,j]=find(a==c);
[m,n]=find(a==d);
a(j)=b(1);
a(n)=b(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式