如何使用表中的变量?

时间:2016-02-01 00:57:29

标签: matlab

我想知道如何在我创建的表中调用变量?

例如,假设我有一个包含这些变量的表:

宽度 3 4.5 五 6.7

长度 4.6 5.7 5.7 5.6

类型 1 1 3 4

如何让Matlab从Type变量中检索所有等于1的数字? 这就是我想要做的事情:

A=[]; %Create empty matrix
for i=1:numel(Type) %for every number within the variable
  if Type(i) == '1'; %if it equals to 1
      A(i)= Type(1) %append to matrix
  end
end

1 个答案:

答案 0 :(得分:2)

您需要使用名为" logical Indexing" - 我们假设你有一个变量tbl

>>tbl= [110 1; 120 2; 13  3;140 1]

tbl =

   110     1
   120     2
    13     3
   140     1

我们希望得到第二列== 1的所有条目。我们可以创建一个类似大小的数组,其中tbl的每一行都有一个条目,其中{{1}如果〜= 1,或false如果它是= =:

true

请注意使用>>index = tbl(:, 2)==1 index = 1 0 0 1 运算符 - 表示"使用所有元素" - 在这种情况下,所有行。现在,您只需将其应用于tbl本身:

:

现在,你可以把它变成一个单行:

>> crabs = tbl(index, 1)

crabs =

   110
   140