MATLAB:请检查我的语法

时间:2013-07-11 19:30:13

标签: matlab syntax

我的目标是创建一个变量,该变量是列1中值41列中值5的行数

这不起作用:

X =

    4 4 4 2 0 
    4 4 4 1 1
    4 4 4 2 1
    4 4 4 1 0

A= numel(X(X(:,4)==1) && (X(:,5)==1));

numel给出了值的数量(例如,如果列4中有五个,则返回5
X是我的矩阵。我该怎么办?

2 个答案:

答案 0 :(得分:1)

假设:

>> x = [4 4 4 2 0; 4 4 4 1 1; 4 4 4 2 1; 4 4 4 1 0]
x =
     4     4     4     2     0
     4     4     4     1     1
     4     4     4     2     1
     4     4     4     1     0

可以使用

找到列4 == 1和列5 == 1的行数
sum((x(:,4)==1) & (x(:,5)==1))

答案 1 :(得分:0)

find(x(:,4)==1)

这将给出第四列中的一个索引。

size(find(x:,4)==1)

这将在第四列中给出1的数字。

在您的情况下,size(find(x:4)==1)返回[2 1],find((x:4)==1)返回[2 4]