我想知道如何在我创建的表中调用变量?
例如,假设我有一个包含这些变量的表:
宽度 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
答案 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