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]);
          --------------------------------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM