2017-06-11 2 views
1

Es gibt 4 numpy Matrizen, für exemple, 3x3 mit Koordinaten:schreiben Koordinaten von 4 numpy Arrays Python Datei

Xg [[-0.5 0.3 1.1] 
    [-0.5 0.3 1.1] 
    [-0.5 0.3 1.1]] 

Yg [[-0.5 -0.5 -0.5] 
    [ 0.3 0.3 0.3] 
    [ 1.1 1.1 1.1]] 

u [[ 1. 1. 1.] 
    [ 1. 1. 1.] 
    [ 1. 1. 1.]] 

v [[ 1.03793 0.25065 -0.28944] 
    [-0.21591 -0.93072 -0.10047] 
    [-0.08591 -0.11284 -0.06082]] 

Wie ich Koordinaten in der Datei wie folgt schreiben können:

# in file should be ", {{" x_coordinate","y_coordinate"},{"u_coordinate","v_coordinate"}}") 
file = open("coordinates.txt", "w") 
file.write(",{{" + x + "," + y + "},{" + u + "," + v + "}}") 

#Output 
    ,{{-0.5,-0.5},{1,1.03793}}, {{0.3,-0.5},{1,0.25065}}, {{1.1,-0.5},{1,-0.28944}},... 
+0

was meinst du mit "nächsten Weg"? – magicleon

+0

funktioniert 'numpy.savetxt' nicht, wonach Sie suchen? https://docs.scipy.org/doc/numpy/reference/generated/numpy.savetxt.html –

+0

mein Englisch ist nicht so gut, ich meine "wie das", wenn sagte "der nächste Weg" –

Antwort

1

Sie Sie könnten für Schleifen verschachtelt, wie folgt aus:

X = [[-0.5, 0.3, 1.1], 
     [-0.5, 0.3, 1.1], 
     [-0.5, 0.3, 1.1]] 

Y = [[-0.5, -0.5, -0.5], 
     [0.3, 0.3, 0.3], 
     [1.1, 1.1, 1.1]] 

U = [[1, 1, 1, ], 
    [1, 1, 1, ], 
    [1, 1, 1, ]] 

V = [[1.03793, 0.25065, -0.28944], 
    [-0.21591, -0.93072, -0.10047], 
    [-0.08591, -0.11284, -0.06082]] 

with open("coordinates.txt", "w") as f: 
    for i in range(3): 
     for j in range(3): 
      f.write("{{{0},{1}}}, {{{2}, {3}}}\n".format(X[j][i], Y[j][i], U[j][i], V[j][i])) 

Welche gibt

{-0.5,-0.5}, {1, 1.03793} 
{-0.5,0.3}, {1, -0.21591} 
{-0.5,1.1}, {1, -0.08591} 
{0.3,-0.5}, {1, 0.25065} 
{0.3,0.3}, {1, -0.93072} 
{0.3,1.1}, {1, -0.11284} 
{1.1,-0.5}, {1, -0.28944} 
{1.1,0.3}, {1, -0.10047} 
{1.1,1.1}, {1, -0.06082} 
+0

Das ist richtig, aber es ist notwendig, {{x, y}, {u, v}} wird in Klammern gesetzt {{}} {0}} –

+0

Ich habe die Formatierung aktualisiert, um sie anzupassen, du kannst damit herumspielen, um genau das zu bekommen, was du willst. – cssko

+0

Es ist großartig! Vielen Dank! –

Verwandte Themen