2

単語隣接データを使用してネットワーク グラフを作成しようとしています。しかし、「ターゲットはノード インデックスの密な double 配列でなければなりません」というエラーが表示されます。以下は私のコードです:

fileName = 'adjnoun.gml';
inputfile = fopen(fileName);
A=[];

l=0;
k=1;
while 1

    % Get a line from the input file
    tline = fgetl(inputfile);

    % Quit if end of file
    if ~ischar(tline)
        break
    end

    nums = regexp(tline,'\d+','match'); %get number from string
    if length(nums)
        if l==1
            l=0;
            A(k,2)=str2num(nums{1});
            k=k+1;
            continue;
        end
        A(k,1)=str2num(nums{1});
        l=1;
    else
        l=0;
        continue;
    end
end
A= sort(A);
g = graph(A(:,1),A(:,2));

A は 425X2 ダブル マトリックスです。グラフを作成しようとするとg = graph(A(:,1),A(:,2))、エラーがスローされます。

4

1 に答える 1

4

graph(s, t)ソース配列またはターゲット配列に 0 がある場合、Matlab の関数はそのエラーを表示します。つまり、A(:, 2)ゼロが含まれている場合、Matlab は表示されたエラーで失敗します。あなたは出来る:

私。次のように、すべての値に「1」を追加します。A=A+1

ii. 元のグラフを変更して、ゼロのない .gml 出力を生成します。

于 2016-03-15T16:06:53.943 に答える