MATLAB中多個一維陣列的合併

2021-10-02 05:51:02 字數 1592 閱讀 9644

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

--------------------------------------

Java中的陣列(一維陣列)

是個容器 儲存的是資料 儲存相同資料型別資料 注意 陣列的長度一旦給定 就不能修改資料型別 陣列名 初值 其中資料型別代表 陣列中盛放資料的 資料型別public static void main string args int array new int 獲取陣列的長度 int lenght ar...

C 中的一維陣列

今天我們來學習c 中的一維陣列。在記憶體中連續儲存各個元素,且可用乙個下標遍歷所有元素的資料型別,就是一維陣列。一維陣列是這麼定義的 資料型別 陣列名 常量表示式 舉個栗子 int a 7 定義了乙個陣列名為a的陣列,陣列共有7個元素,每個元素的資料型別是int char c 3 定義了乙個陣列名為...

matlab中維數的理解

a 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 就上面這樣乙個矩陣而言,它有3行5列 第一維 行維,即行向,也即垂直方向,維數為3,就矩陣a而言 第二維 列維,即列向,也即水平方向,維數為5 第三維 頁,類似課本的一頁一頁,每一頁是個平面,可以放乙個類似a的二維矩陣 第四維 沒有其他...