ich habe schon gesucht, aber nichts dazu gefunden, hoffe ihr könnt mir helfen
im prinzip möchte ich in die erste Zeile einer .asc Datei die Variablen "t", "x" und "y" schreiben.
und darunten in Spalten die Matrix. Man kann sich dies also als Messung vorstellen, die Zeitwerte t und in meinem Beispiel stellt sin(t) x dar und cos(t) ist y. Die matrix mit den Werten ist ein array und die erste Zeile mit den Variablen ist ein String, oder kann man das anders implementieren?
aber hier jetzt mal mein code:
Code: Alles auswählen
import numpy as np
t=np.arange(0.0,10.0,0.5)
x=np.sin(t)
y=np.cos(t)
M=np.column_stack((t.T,x.T,y.T)) # M ist Matrix, in der als Spalten die Werte t,x,y stehen
print M
g="{0:5}{1:11}{1:6}{2:12}{2:7}{3:13}"
c=(g.format(" ","t"," ","x"," ","y"))
h="\n"\
f=open("save.asc","w")
f.write(c)
f.write(h)
np.savetxt("save.asc",M,fmt="%15.6e")
f.close()
b=np.genfromtxt("save.asc")
print b
Code: Alles auswählen
t t x 000000e-01 4.794255e-01 8.775826e-01
1.000000e+00 8.414710e-01 5.403023e-01
1.500000e+00 9.974950e-01 7.073720e-02
2.000000e+00 9.092974e-01 -4.161468e-01
2.500000e+00 5.984721e-01 -8.011436e-01
3.000000e+00 1.411200e-01 -9.899925e-01
3.500000e+00 -3.507832e-01 -9.364567e-01
4.000000e+00 -7.568025e-01 -6.536436e-01
4.500000e+00 -9.775301e-01 -2.107958e-01
5.000000e+00 -9.589243e-01 2.836622e-01
5.500000e+00 -7.055403e-01 7.086698e-01
6.000000e+00 -2.794155e-01 9.601703e-01
6.500000e+00 2.151200e-01 9.765876e-01
7.000000e+00 6.569866e-01 7.539023e-01
7.500000e+00 9.380000e-01 3.466353e-01
8.000000e+00 9.893582e-01 -1.455000e-01
8.500000e+00 7.984871e-01 -6.020119e-01
9.000000e+00 4.121185e-01 -9.111303e-01
9.500000e+00 -7.515112e-02 -9.971722e-01
die werte in der ersten Zeile am schluss gehören dort auch nicht hin.
Hoffe mir kann jemand helfen, hab schon ewig rumprobiert, aber bin auf nichts vernünftiges gekommen :K
Ah und falls das im falschen Unterforum stehen sollte, bitte verschiebt es, ich wusste nicht wo genau hin damit
