How to link two matrix, node's coordinate and lines between nodes?

1 vue (au cours des 30 derniers jours)
Danilo Sanfilippo
Danilo Sanfilippo le 22 Juil 2019
I have imported two matrix from Gmsh into matlab.
One matrix (3x45) provides to me the coordinates of nodes, the second (2x136) provides to me the connections between nodes.
The problem is that I know that each number of the second matrix is a nodes but for matlab are just two matrix with randon number.
How can i say to matlab that each nodes are the coordinates storage in the first matrix?
Example:
the first row of Line matrix is 1 17 and I would like to code in matlab 1 and 17 correspond with first and 17th row of Nodes matrix
Nodes =
1 0 0 0
2 5 0 0
3 5 5 0
4 0 5 0
5 0.999999999998413 5 0
6 1.99999999999551 5 0
7 2.99999999999697 5 0
8 3.99999999999849 5 0
9 5 4.00000000000000 0
10 5 3.00000000000000 0
11 5 1.99999999999999 0
12 5 0.999999999999991 0
13 4.00000000000000 0 0
14 3.00000000000000 0 0
15 1.99999999999999 0 0
16 0.999999999999991 0 0
17 0 0.999999999998413 0
18 0 1.99999999999551 0
19 0 2.99999999999697 0
20 0 3.99999999999849 0
21 2.50000000000036 2.50000000000001 0
22 1.43749999999957 1.43750000000026 0
23 1.43750000000081 3.56250000000055 0
24 3.56250000000014 1.43749999999987 0
25 3.56250000000025 3.56249999999959 0
26 2.55163043478259 1.01967773437503 0
27 3.98032226562521 2.55163043478244 0
28 1.01967773437521 2.44836956521634 0
29 2.44836956521649 3.98032226562503 0
30 0.835416666666811 0.835416666666551 0
31 0.835416666666499 4.16458333333299 0
32 4.17768912837252 0.822310871627482 0
33 4.16458333333322 4.16458333333347 0
34 2.15172155753807 1.84171674372294 0
35 1.91602312080068 2.87764584152284 0
36 3.15726153869470 2.15517014158528 0
37 2.87711830552300 3.08476478749167 0
38 0.658518880208503 3.43509057970907 0
39 1.56490942028979 0.658518880208368 0
40 3.43509057970908 4.34148111979162 0
41 0.662502325148937 1.56031395574398 0
42 3.45836391263105 0.655897721200476 0
43 4.34410227879957 1.56228826128196 0
44 1.56031395574401 4.33749767485115 0
45 4.33749767485133 3.43968604425469 0
Lines=
1 17
1 30
2 13
2 32
3 9
3 33
4 5
4 31
5 6
5 31
5 44
6 7
6 29
6 44
7 8
7 29
7 40
8 3
8 33
8 40
9 10
9 33
9 45
10 11
10 27
10 45
11 12
11 27
11 43
12 2
12 32
12 43
13 14
13 32
13 42
14 15
14 26
14 42
15 16
15 26
15 39
16 1
16 30
16 39
17 18
17 30
17 41
18 19
18 28
18 41
19 20
19 28
19 38
20 4
20 31
20 38
21 34
21 35
21 36
21 37
22 26
22 28
22 30
22 34
22 39
22 41
23 28
23 29
23 31
23 35
23 38
23 44
24 26
24 27
24 32
24 36
24 42
24 43
25 27
25 29
25 33
25 37
25 40
25 45
26 15
26 22
26 24
26 34
26 36
26 39
26 42
27 11
27 24
27 25
27 36
27 37
27 43
27 45
28 19
28 22
28 23
28 34
28 35
28 38
28 41
29 7
29 23
29 25
29 35
29 37
29 40
29 44
30 17
30 22
30 39
30 41
31 5
31 23
31 38
31 44
32 13
32 24
32 42
32 43
33 9
33 25
33 40
33 45
34 21
34 28
34 35
34 36
35 29
35 37
36 21
36 37

Réponses (1)

Steven Lord
Steven Lord le 22 Juil 2019
Make a graph or digraph (depending whether your network is undirected or directed) object. You can store your coordinates as custom attributes in the Nodes table of the graph or digraph then use that data as the XData, YData, and ZData when you plot it. See the "Custom Graph Node Coordinates" example on the plot documentation page for a demonstration of this technique.

Catégories

En savoir plus sur Graph and Network Algorithms dans Help Center et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by