在Matlab中检查矩阵的条件?

时间:2016-06-16 18:30:38

标签: matlab matrix

我在Matlab上有以下矩阵,我想检查一个条件。你能帮我写一段代码吗?矩阵是

   %A5  M5  A6  M6  A7  M7  A8  M8
   %-----------------------------
 C=[0   1   0   2   0   3   0   4;
    0   2   0   3   0   4   0   5;
    0   3   0   4   0   5   0   6;
    0   4   0   5   0   6   0   7;
    1   5   1   6   1   7   1   8;
    1   5   1   6   1   7   2   1;
    1   5   1   6   1   7   0   1;
    1   5   1   6   2   1   2   2;
    1   5   1   6   2   1   3   1;
    1   5   1   6   2   1   0   1;
    1   5   1   6   0   1   0   2;
    1   5   2   1   2   2   2   3;
    1   5   2   1   2   2   3   1;
    1   5   2   1   2   2   0   1;
    1   5   2   1   3   1   3   2;
    1   5   2   1   3   1   0   1;
    1   5   2   1   0   1   0   2;
    1   5   0   1   0   2   0   3;
    2   1   2   2   2   3   2   4;
    2   1   2   2   2   3   3   1;
    2   1   2   2   2   3   0   1;
    2   1   2   2   3   1   3   2;
    2   1   2   2   3   1   0   1;
    2   1   2   2   0   1   0   2;
    2   1   3   1   3   2   3   3;
    2   1   3   1   3   2   0   1;
    2   1   3   1   0   1   0   2;
    2   1   0   1   0   2   0   3;
    2   2   2   3   2   4   2   5;
    2   2   2   3   2   4   1   1;
    2   2   2   3   2   4   0   1;
    2   2   2   3   3   1   3   2;
    2   2   2   3   3   1   0   1;
    2   2   2   3   0   1   0   2;
    2   2   3   1   3   2   3   3;
    2   2   3   1   3   2   0   1;
    2   2   3   1   0   1   0   2;
    2   2   0   1   0   2   0   3;
    2   3   2   4   2   5   2   6;
    2   3   2   4   2   5   3   1;
    2   3   2   4   2   5   0   1;
    2   3   2   4   3   1   3   2;
    2   3   2   4   3   1   0   1;
    2   3   2   4   0   1   0   2;
    2   3   3   1   3   2   3   3;
    2   3   3   1   3   2   0   1;
    2   3   3   1   0   1   0   2;
    2   3   0   1   0   2   0   3;
    2   4   2   5   2   6   2   7;
    2   4   2   5   2   6   3   1;
    2   4   2   5   2   6   0   1;
    2   4   2   5   3   1   3   2;
    2   4   2   5   3   1   0   1;
    2   4   2   5   0   1   0   2;
    2   4   3   1   3   2   3   3;
    2   4   3   1   3   2   0   1;
    2   4   3   1   0   1   0   2;
    2   4   0   1   0   2   0   3;
    3   1   3   2   3   3   3   4;
    3   1   3   2   3   3   0   1;
    3   1   3   2   0   1   0   2;
    3   1   0   1   0   2   0   3;
    3   2   3   3   3   4   3   5;
    3   2   3   3   3   4   0   1;
    3   2   3   3   0   1   0   2;
    3   2   0   1   0   2   0   3;
    3   3   3   4   3   5   3   6;
    3   3   3   4   3   5   0   1;
    3   3   3   4   0   1   0   2;
    3   3   0   1   0   2   0   3]

我调用了列A5 M5 A6 M6 A7 M7 A8 M8

这里是我要检查的条件:我想查找A6,M6,A7,M7的值(如果有的话)

(1)M4至少需要4个不同的值

[同时]

(2)M8至少需要4个不同的值

1 个答案:

答案 0 :(得分:0)

这段代码在脚本中运行,可以实现您的目标:

% Relevant Columns of C
M4 = 1; % Assuming M4 was some typo
M8 = 8;
cols = 3:6;

if numel(unique(C(:,M4))) >= 4 && numel(unique(C(:,M8))) >= 4
    A = C(:,cols);
end