作者hyt0327 (hyt)
看板MATLAB
标题[其他] 请问回圈取值?
时间Thu Jan 1 22:31:50 2015
回圈取值问题
假设有一个100x1的array: A=[a1;a2;a3....;a100],element数值为1或0
我想要得到一个100x10的array,内容应如下:
第一个row:从a1开始,每个10个element取一个值而得到:
[a1,a11,a21,a31,a41,a51,a61,a71,a81,a91]
第二个row:从a2开始,每个10个element取一个值而得到:
[a2,a12,a22,a32,a42,a52,a62,a72,a82,a92]
第三个row:从a3开始,每个10个element取一个值而得到:
[a3,a13,a23,a33,a43,a53,a63,a73,a83,a93]
....
第十一个row:[a11,a21,a31,a41,a51,a61,a71,a81,a91,a1]
第十二个row:[a12,a22,a32,a42,a52,a62,a72,a82,a92,a2]
.....
第一百个row:[a100,a10,a20,a30,a40,a50,a60,a70,a80,90]
我原本想用以下code,但i=11时,只能取到a91,不知道该怎麽让他可以取到a1。
另外,该如何才能得到一个上述的100x10的array?
load('A');
for i=1:100
M=A(i:10:100)';
end
非常感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.114.99.210
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/MATLAB/M.1420122712.A.722.html
1F:→ windg: A=[A;A]; for i = 1:100 01/01 22:49
2F:→ windg: M =A(i:10:100+i); end 01/01 22:50
3F:→ hyt0327: 谢谢你,但不能work耶 01/05 12:02
4F:推 CBET: idx = mod(bsxfun(@plus, 1 : 10 : 100, (0 : 99)') - 1,... 01/05 14:52
5F:→ CBET: 100) + 1; M = A(idx); 01/05 14:52
6F:→ hyt0327: 成功了!非常感谢 01/05 15:26