• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

MATLAB中多个一维数组的合并 - xfgnongmin

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

MATLAB中多个一维数组的合并

版权声明:本文为博主原创文章。未经博主同意不得转载。

https://blog.csdn.net/u013538664/article/details/37673711

1、一维数组直接合并
       题目:
           数组work1[x1,x2——,xn],work2[y1,y2——,yn],如今要生成一个数组work3。
       work3中的数据为[x1,x2,x3--xn,y1,y2--yn];

       合并方法:
           直接将两个矩阵合并:
             A = [1,2,3,4];
             B = [-1,-2,-3,-4];
             C = zeros(1,size(B,2)+size(A,2));     %这句能够不要;
             C = [A, B];


    2、一维数组交叉合并:
       题目:
           数组work1[x1,x2——,xn],work2[y1,y2——,yn]。如今要生成一个数组work3,
       work3中的数据为[x1,y1,x2,y2——,xn,yn];
      
       合并方法一:
           A = [1,2,3,4];
           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

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

 

       解法三:

           对于解法二改进:

           c=reshape([A;B],1,[]);

           这里要注意,仅仅能在v7以上的版本号才干使用此法。

 

       解法四:
           A = [1,2,3,4];
           B = [-1,-2,-3,-4];
           C=kron(A,[1 0])+kron(B,[0 1]);
          
           C =
                1    -1     2    -2     3    -3     4    -4
      非常多技巧。试总结以上的方案:
          -------------------------------------
          A = [1,2,3,4];
          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=[A\' B\']\';
          C=reshape(C, 1, length(A)+length(B));
          ------------------3-------------------
          c=reshape([A;B],1,[])
          ------------------4-------------------
          C=kron(A,[1 0])+kron(B,[0 1]);
          --------------------------------------


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap