2016-04-21 4 views
1

Ich versuche, den Befehl periodogram in MATLAB 15a zu verwenden.MATLAB: Periodogramm zeigt Fehler "Ungültiger Wert für Daten" für bestimmten Eingang

Mein Periodogram Code:

periodogram(Ts_outside) 

Wenn ich ersetzen Ts_outside mit Ts_inside, es funktioniert. Aber für den obigen Code, es zeigt den folgenden Satz von Fehlern (Bitte beachten Sie, dass alle Fehler in den in-built-Dateien von MATLAB):

Error using dspdata/validatedata (line 14) 
Invalid value for Data. Data must be a vector or matrix containing real, positive values. 

Error in dspdata.abstractps/validatedata (line 8) 
dspdata.validatedata(this,data); 

Error in dspdata.abstractfreqresp/initialize>validate_data (line 77) 
validatedata(this, data); 

Error in dspdata.abstractfreqresp/initialize (line 23) 
    [data, dataLen] = validate_data(this, data); 

Error in dspdata.psd (line 82) 
initialize(this,varargin{:}); 

Error in periodogram (line 197) 
     hdspdata = dspdata.psd(Pxx,w{:},'SpectrumType',options.range); 

Ich habe für imaginäre Werte in Ts_outside, geprüft von Befehl imag. Folgendes ist das Ergebnis:

any(imag(Ts_outside)) 

ans = 

    0 

Wie Sie sehen können, hat sein Imaginärteil kein Nicht-Null-Element.

Ich weiß nicht, was das Problem mit meiner Variable ist. Es ist eine 33119x1-Matrix, genau wie Ts_inside. Außerdem wird die gleiche Reihe von Fehlern angezeigt, wenn ich versuche, crosscorr darauf zu verwenden. Was könnte die mögliche Fehlerquelle sein?

Antwort

0

Überprüfen Sie auch, ob es eine NaN Element in Ihrem Ts_outside Vektor:

any(isnan(Ts_outside)) 
+0

es zeigt, 1. Aber durch visuelle Inspektion kann ich nicht jede – user6159848

+0

ich den Eintrag gefunden finden, die Matlab denkt NaN ist, aber eigentlich ist es eine echte Zahl. Jedenfalls habe ich es durch die gleiche Nummer ersetzt und jetzt funktioniert es gut. – user6159848

+0

Ist das ein Kommentar oder eine Antwort? Ich kann es nicht sagen. – rayryeng

Verwandte Themen