在MATLAB中使用其他矩阵的元素创建矩阵

use*_*735 1 matlab matrix conditional-statements

我有两个矩阵ab(列数相同).我想c使用条件创建第三个矩阵:

例如,我有:

a = [1  2  3  4  1  2  3  4  1  2  3  4; 
     1  1  1  1  2  2  2  2  3  3  3  3]

b = [5  6  7  8  9  10 11 12 13 14 15 16;    
     17 18 19 20 21 22 23 24 25 26 27 28;    
     29 30 31 32 33 34 35 36 37 38 39 40]
Run Code Online (Sandbox Code Playgroud)

条件是:a(2, :) == 2,因此得到的矩阵应该是:

c = [1 2 3 4;
     2 2 2 2;
     9 10 11 12;
     21 22 23 24;
     33 34 35 36]
Run Code Online (Sandbox Code Playgroud)

Not*_*tyf 5

试试这个

%With your a and b

cols = a(2,:) == 2;
c = [a(:,cols) ; b(:,cols)];

c =

 1     2     3     4
 2     2     2     2
 9    10    11    12
21    22    23    24
33    34    35    36
Run Code Online (Sandbox Code Playgroud)