2016-07-04 3 views
-2

次のようにI表を持っている:既存のフィールドを使用すると、別のフィールドの値はどのように達成できますか?

cl c2 c3 ..... 
r1 x A 4 
r2 y B 5 
r3 z C 2 
. 
. 
. 

R(1,2,3)は、行およびC(1,2,3)のラベルであり、列のラベルです。私はc1、c2のフィールドを持っていて、私はc3を望んでいます。例えば、私はyとBを持っているので、私は '5'に到達したい。 私は 'Find、sub2ind'関数を読んでいますが、私はどのように使うことができるのか分かりません。

+0

であるときは、3番目の列をしたい5'? – Suever

+0

c1 = yとc2 = B(it is unique)という1つの行だけが存在します。私はテーブルで検索し、この行を見つけてc3(= 5)のフィールドを抽出します。 – Sahel

+0

ジョブの関数を記述する必要がありますが、このジョブではMATLABは機能していませんか? – Sahel

答えて

0

単純な論理インデックスを使用してこれを実行できます。最初の列の値が'y'で、2番目の列の値が `y`と 'B'は`あなたを与えるどのよう'B'

t = table({'x'; 'y'; 'z'}, {'A'; 'B'; 'C'}, [4; 5; 2], 'VariableNames', {'c1', 'c2', 'c3'}); 

value = t.c3(ismember(t.c1, 'y') & ismember(t.c2, 'B')) 
% 5 
+0

ありがとうございました。 – Sahel

関連する問題