0

私は2つのマトリックスを持っています:マトリックスa(6 * 6メインマトリックス)とマトリックスb(14 * 2はマトリックスaの要素間の関係を含みます):

a = [
 0 1 0 0 1 1
 1 0 1 1 0 0
 0 1 0 1 0 0
 0 1 1 0 0 1
 1 0 0 0 0 0
 1 0 0 1 0 0 ]

b= [
 1 2
 1 5
 1 6
 2 1
 2 3
 2 4
 3 2
 3 4
 4 2
 4 3
 4 6
 5 1
 6 1
 6 4 ]

以下を計算する必要があります。

TS(i,j)=(a(i,j)+1)/(the number of elements related to i(from matrix b)
    * the number of elements related to j(from matrix b))

例えば:TS(1,2)=((1)+1)/(3*3)

4

2 に答える 2

1

私の理解が正しければ、 arrayaに 1 を追加し、それぞれ行と列の合計の積で割ります。

colSum = sum(a,1);
rowSum = sum(a,2);

denominator = bsxfun(@times,colSum,rowSum);

out = (a+1)./denominator;
于 2012-06-26T02:15:22.800 に答える
0

あなたの質問を正しく理解していれば、必要なものが得られるはずです。

rel = sum(a);
TS = (a + 1) ./ (rel' * rel);
于 2012-06-26T01:27:49.203 に答える