Error in plotting graph
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Isaac Osei Agyemang
am 11 Okt. 2018
Beantwortet: Isaac Osei Agyemang
am 12 Okt. 2018
Hi community, please I'm try to plot a graph from a gml file containing data. I'm getting an error when i try to create the graph. The error reads "Error using matlab.internal.graph.MLGraph. Target must be a dense double array of positive integer node indices."
This is my code.
%Extracting edges from gml file graph
fileName = 'power.gml';
inputfile = fopen(fileName);
Edges=[];
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');
if length(nums)
if l==1
l=0;
Edges(k,2)=str2num(nums{1});
k=k+1;
continue;
end
Edges(k,1)=str2num(nums{1});
l=1;
else
l=0;
continue;
end
if Edges(:,2)== 0
Edges (:,2) = 1;
end
end
Edges = Edges+1;
G = graph(Edges(:,1), Edges(:,2)); % create a graph from A
figure % visualize the graph
plot(G);
3 Kommentare
Akzeptierte Antwort
Weitere Antworten (1)
dpb
am 11 Okt. 2018
Bearbeitet: dpb
am 11 Okt. 2018
graph(s,t)
...
s,t — Node pairs
...
Node pairs, ... graph creates edges between the corresponding nodes in s and t, ...
If s and t are numeric, then they correspond to indices of graph nodes. Numeric node
indices must be positive integers greater than or equal to 1.
...
IOW, there is no such thing as a "Node zero"; the node numbers are like indices into an array or matrix; they are one-based index values to which node, 1 thru N of the nodes in the list.
I don't know what your idea is of what the zero is supposed to represent?
1 Kommentar
Siehe auch
Kategorien
Mehr zu Directed Graphs finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!