私は2つのセルマトリックスを持っています(特定のコードから来ています):
m1 = GO:0008150' 'GO:0016740'
'GO:0016740' 'GO:0016787'
'GO:0016787' 'GO:0006810'
'GO:0008150' 'GO:0006412'
'GO:0016740' 'GO:0004672'
'GO:0016740' 'GO:0016779'
'GO:0016787' 'GO:0004386'
'GO:0016787' 'GO:0003774'
'GO:0016787' 'GO:0016298'
'GO:0006810' 'GO:0016192'
m2 ='GO:0008150' 'GO:0016787'
'GO:0008150' 'GO:0006810'
'GO:0006810' 'GO:0006412'
'GO:0016192' 'GO:0003774'
'GO:0006810' 'GO:0005215'
'GO:0005215' 'GO:0030533'
各行列で、最初の列は2番目の列の親です...これらのセル間のすべての関係を決定できるグラフの部分を見つけるためにコードから必要です...列1から発生するセルを見つける必要があります列2、次に列1から、ただし列2の同じ行からセルを取得し、列2の他のセルとの類似性を見つけます。
一般に、次のifステートメントを置き換えることができるサイズの柔軟なコード(再帰的)を作成するにはどうすればよいですか?
for k=1:length(m1)
for ii=1:length(m1)
for j=1:length(m1)
for i=1:length(m2)
for e=1:length(m1)
if isequal(m2{i,1},m1{j,2})
x1=[m1(j,1) m2(i,2)];
x11=[x1;x11];
if isequal(m1{j,1},m1{k,2})
x2=[m1(k,1),m2(i,2)];
x22=[x2;x22];
if isequal(m1{k,1},m1{ii,2})
x3=[m1(ii,1),m2(i,2)];
x33=[x3;x33];
if isequal(m1{ii,1},m1{e,2})
x4=[m1(e,1),m2(i,2)];
x44=[x4;x44];
.
.
and so..x_total=[x11;x22;x33;x44...]
end
end
end
end
end
end
end
if statemtnesの数が決定されていないことに注意してください(これも常に定数ではないm1とm2に依存します)