xiaodinger 发表于 2008-4-23 15:13

请教一个数组合并的问题

请教一个数组合并的问题,如数组work1,work2,现在要生成一个数组work3,work3中的数据为,这可怎么生成,想了很久了,希望大家帮忙,谢谢!

3QMM 发表于 2008-4-23 15:21

用For循环吧!别的命令就不知道了

eight 发表于 2008-4-23 15:23

要想很久,没这么复杂吧?下面是解法一:
>> A = ;
>> B = [-1,-2,-3,-4];
>> C = zeros(1,size(B,2)+size(A,2));
>> C(1:2:end) = A;
>> C(2:2:end) = B
C =
   1    -1   2    -2   3    -3   4    -4解法二:没有想出来,放弃

[ 本帖最后由 eight 于 2008-4-23 16:04 编辑 ]

wwbeyondww 发表于 2008-4-24 08:42

回复 3楼 的帖子

解法二:
A = ;
B = [-1,-2,-3,-4];
C=';
C=reshape(C, 1, length(A)+length(B));


C =

   1    -1   2    -2   3    -3   4    -4

eight 发表于 2008-4-24 10:26

原帖由 wwbeyondww 于 2008-4-24 08:42 发表 http://www.chinavib.com/forum/images/common/back.gif
解法二:
A = ;
B = [-1,-2,-3,-4];
C=';
C=reshape(C, 1, length(A)+length(B));


C =

   1    -1   2    -2   3    -3   4    -4 不错不错,不过和我昨天想的不一样,我记得之前有个函数可以中间隔行补零的,可惜想不起来是什么函数

wwbeyondww 发表于 2008-4-24 12:18

回复 5楼 的帖子

哈哈,经你提醒,解法三:
A = ;
B = [-1,-2,-3,-4];
C=kron(A,)+kron(B,);


C =

   1    -1   2    -2   3    -3   4    -4

bainhome 发表于 2008-4-25 00:29

kron这个函数主要是用于做kronecker张量积,这么用第一次见,赞!
常规做法还是用reshape,不过可以小修改一下,对v7以上版本似乎无需规定其维数,用"[]"即可:c=reshape(,1,[])

shuihefeng 发表于 2008-4-25 10:29

直接合并不行吗?
a=
b=
若行数相同用
ans =
   1   2   3   4   1   2   3   4
   1   2   3   4   1   2   3   4
若列数相同用
ans =
   1   2   3   4
   1   2   3   4
   1   2   3   4
   1   2   3   4

sogooda 发表于 2008-4-25 10:32

原帖由 shuihefeng 于 2008-4-25 10:29 发表 http://www.chinavib.com/forum/images/common/back.gif
直接合并不行吗?
a=
b=
若行数相同用
ans =
   1   2   3   4   1   2   3   4
   1   2   3   4   1   2   3   4
若列数相同用

你没看明白楼主的要求啊

shuihefeng 发表于 2008-4-25 11:23

不好意思,看错了.刚学的

lilongduzhi 发表于 2008-5-2 13:05

全是矩阵处理的高手啊!

学到很多技巧,试总结以上的方案:
-------------------------------------
A = ;
B = [-1,-2,-3,-4];
----------------- 1 -----------------
C = zeros(1,size(B,2)+size(A,2));
C(1:2:end) = A;
C(2:2:end) = B;
C=C(:);
------------------2 -----------------
C=';
C=reshape(C, 1, length(A)+length(B));
------------------3-------------------
c=reshape(,1,[])
------------------4-------------------
C=kron(A,)+kron(B,);
--------------------------------------
页: [1]
查看完整版本: 请教一个数组合并的问题