loadtxt --> Fehler Datenformat?

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
incoggnito
User
Beiträge: 42
Registriert: Donnerstag 27. April 2017, 09:28

Mittwoch 17. Mai 2017, 12:18

Hallo Zusammen,

eine ganz dumme Frage ...

folgender Code funktioniert:

Code: Alles auswählen

#load matfile
mat = loadmat(files[0])    
x=mat['Daten]
y=mat[Daten]

#x,y float32 und size(xxxx,1)

#set borders
xu = argmax(x>100)
xo = argmin(x<16000)
x=x[xu:xo,0]
y=y[xu:xo,0]

y=20*log10(y)

Anstatt eines Matfiles soll nun ein .txt als Eingangsfile verwendet werden:

Code: Alles auswählen

lines = loadtxt(files[0], skiprows = 5, delimiter="\t", unpack=False)
x=lines[:,0]
y=lines[:,1]


#x,y float64 und size(xxxx,)

#set borders
xu = argmax(x>100)
xo = argmin(x<16000)
x=x[xu:xo]
y=y[xu:xo]

y=20*log10(y)
Bei dieser Lösung bekomme ich im logarithmus folgende Fehlermeldung:
invalid value encountered in log10

Was mache ich falsch?

VG Inco
Zuletzt geändert von Anonymous am Mittwoch 17. Mai 2017, 13:21, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
Benutzeravatar
noisefloor
User
Beiträge: 2388
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Mittwoch 17. Mai 2017, 12:31

Hallo,

hast du dir mal ausgeben lassen, welchen Wert y hat, bevor du den Logarithmus davon berechnen lässt?

Gruß, noisefloor
incoggnito
User
Beiträge: 42
Registriert: Donnerstag 27. April 2017, 09:28

Mittwoch 17. Mai 2017, 12:39

Hallo,

ja steht auch im Ausgangspost, ist ein array, mit den gewünschten Einträgen als float64 mit der size(xxx,)

daran liegt es aber scheinbar nicht ....
auch ein float32() hilft hier nicht weiter.
Da die Ausgabe des logartihmus NAN ist, stimmt irgendwas am Datentyp nicht....
kann es sein, dass die Ausgabe im Variablenexplorer falsch angezeigt wird?

Grüße Inco
Benutzeravatar
kbr
User
Beiträge: 853
Registriert: Mittwoch 15. Oktober 2008, 09:27

Mittwoch 17. Mai 2017, 13:06

incoggnito hat geschrieben:Da die Ausgabe des logartihmus NAN ist, stimmt irgendwas am Datentyp nicht....
Welchen Wert hat denn das konkrete y das zu dieser Meldung führt? Also im Grunde noch einmal noisefloors Frage. Denn wäre es ein gültiger Wert für diese Operation käme kein NaN raus.
BlackJack

Mittwoch 17. Mai 2017, 13:29

@incoggnito: Wieso sollte am Datentyp etwas nicht stimmen? Der Wert, oder mindestens ein Wert im Array ist das Problem. Also beispielsweise ein negativer Wert.
incoggnito
User
Beiträge: 42
Registriert: Donnerstag 27. April 2017, 09:28

Mittwoch 17. Mai 2017, 14:15

hab den Fehler gefunden, lag an einem Buchstaben... bei so großen Datenmengen kann man sowas übersehen.
Trotzdem Vielen Dank für die Hilfe.

Viele Grüße
Inco
Antworten