Ich möchte L = laplacian(G)
aus einer Grafik dataset berechnen. Ich importiert den Datensatz, die zwei Spalten enthält: FromNodeId und ToNodeId:Fehler beim Ausführen von G = Grafik (s, t) in Matlab
# Nodes: 3997962 Edges: 34681189
# FromNodeId ToNodeId
0 1
0 2
0 31
0 73
0 80
0 113619
0 2468556
0 2823829
0 2823833
0 2846857
0 2947898
0 3011654
0 3701688
0 3849377
0 4036524
0 4036525
0 4036527
0 4036529
0 4036531
0 4036533
0 4036534
0 4036536
0 4036537
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
1 11
Um dies zu tun, ich brauche zu finden G
zuerst so verwende ich G = graph(FromNodeId, FromNodeId)
. Als ich das tat, habe ich diesen Fehler:
>> G = graph(fromNodeId,toNodeId)
Error using matlab.internal.graph.MLGraph
Source must be a dense double array of node indices.
Error in matlab.internal.graph.constructFromEdgeList (line 125)
G = underlyingCtor(double(s), double(t), totalNodes);
Error in graph (line 264)
matlab.internal.graph.constructFromEdgeList(...
Ich weiß nicht, warum! Kann ich eine Lösung dafür finden? Vielen Dank.
Sind sowohl fromNodeID als auch toNodeID volle doppelte Arrays? Versuchen Sie 'FromNodeID = full (double (FromNodeID)); ToNodeID = voll (double (ToNodeID)); '. "Quelle muss eine dichte doppelte Anordnung von Knotenindizes sein." klingt für mich so, als würden Sie entweder ein Sparse-Array oder einen einzelnen Typ eingeben. – Poelie
Das Problem besteht darin, wie die Daten protokolliert werden. Die Arrays sind spärlich, das habe ich überprüft. – NKN
Mögliches Duplikat von [Ziel muss ein dichtes doppeltes Array von Knotenindizes sein. Wie zu lösen?] (Http://stackoverflow.com/questions/35075759/target-must-be-a-dense-double-array-of-node-indices-how-to-solve) – Poelie