0

連結性行列で節点クラスタリング係数分布を計算したいのですが、このコードを操作しても何も返ってきません。何が問題ですか?そのような関数プロットを使用することはできませんか?

cm = [0,1,1,1,0;1,0,0,1,0;0,1,0,0,0;1,0,0,0,0;0,0,0,0,0];
bg = biograph(cm);

for i = 1:5
    intNodes = getrelatives(bg.nodes(i));
    num = numel(intNodes);
    plot(i,num);
    end
4

2 に答える 2

1

plot を呼び出すたびに、以前にプロットされたデータが消去されます。

hold on

ループの前 (または軸のプロパティを編集しない限り)。

cm = [0,1,1,1,0;1,0,0,1,0;0,1,0,0,0;1,0,0,0,0;0,0,0,0,0];
bg = biograph(cm);
figure %# create new figure
hold on %# create axes, make sure that plots get added instead of replaced
for i = 1:5
    intNodes = getrelatives(bg.nodes(i));
    num = numel(intNodes);
    plot(i,num);
end
于 2013-10-25T11:14:20.567 に答える
0

最初にすべてのデータ ポイントを収集し、最後にそれらをプロットするだけで、コードの実行が改善される可能性があります。これを行う方法は次のとおりです。

cm = [0,1,1,1,0;1,0,0,1,0;0,1,0,0,0;1,0,0,0,0;0,0,0,0,0];
bg = biograph(cm);

plotData = NaN(5,1)
for i = 1:5
    intNodes = getrelatives(bg.nodes(i));
    num = numel(intNodes);
    plotData(i)=num
end

plot(1:5,plotData)
于 2013-10-25T11:17:05.267 に答える