作者greg2977 (澔呆)
看板MATLAB
标题Re: [问题] 关於矩阵合并
时间Mon Jan 7 01:12:34 2013
j=1;
for i=1:2:N-1
A(i,:) =A1(j,:);
A(i+1,:)=A2(j,:);
j=j+1;
end
※ 引述《wk4xu4j (ha)》之铭言:
: 想问假设有A1矩阵,A2矩阵,两者皆为MxN,想将他们并成一个
: A为2MxN,且A(1,1) A(3,1),依序下去,为A1(1,1) A1(2,1),依序下去的值,
: 到A(2M-1,1)为A1(M, 1),依此方式到A(2M-1,N)为A1(M,N)。
: 而A(2,1) A(4,1) 为A2(1,1) A2(2,1)依序到A(2M,N)为A2(M,N)。
: 即做一个新的较大的矩阵,将旧的两个矩阵的值,交错的填进去。
: 有什麽好方法吗?我用两个for去跑,要跑很久。还是我for有写错让他到不了终点?
: for i=1:2:N-1
: for j=1:2:2*M-1
: A(j, i)=A1((j+1)/2, (i+1)/2)
: end
: end
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.233.144.252
1F:推 wk4xu4j:好耶,可是如果我在y方向也想交错,该怎麽办?感觉就不能 01/07 01:19
2F:→ wk4xu4j:一条一条填,得一点一点填了是吗? 先谢谢你的这个 >///< 01/07 01:19
3F:→ greg2977:转成斜的以後做相加应该可以~但不好写... 01/07 08:34
4F:→ greg2977:for回圈应该没写错~只是很大而已 01/07 08:39
5F:→ greg2977:先定义A的大小以及将两个回圈写在一起 01/07 08:40
6F:→ greg2977:看这样能优化多少吧 01/07 08:40
7F:→ onezillion:A=reshape([A1' ; A2'],[N 2*M])' 01/07 13:00
8F:推 wk4xu4j:楼上的作法好酷,谢谢。转成斜的是什麽意思呀,看了下面 01/07 20:57
9F:→ wk4xu4j:的回文,应该有办法了,谢谢你罗 01/07 20:58
10F:→ wk4xu4j:不过不懂之前两个for去跑还有计算,也没这麽久,这感觉不 01/07 21:01
11F:→ wk4xu4j:是很难,他却很久 @@" 01/07 21:01