2017-05-23 3 views
0

Ich habe die folgende Funktion definiert. Die Ausgabe war auch gut. Ist es möglich, den Rückgabewert nach Verwendung der Funktion auszudrucken?Druckdaten einer Funktion in Python

def runningMeanFast(x, N): 
    return np.convolve(x, np.ones((N,))/N)[(N-1):] 

plt.figure(8) 
plt.title('Sigupper vs time fitting') 
#plot(time,SigUpper,'-r',label='Data') 
plot(time[time_fit],runningMeanFast(SigUpper[time_fit],5),'b',label='convolution') 
plt.grid() 
xlabel(r'time') 
ylabel(r'z/d') 
#plt.ylim(1.5,6) 
plt.grid() 
plt.legend() 
savefig('8.png') 
+0

Sie Einbuchtung macht keinen Sinn. Sie geben sofort nach dem Eingeben der Funktion etwas zurück, dann führen Sie einige Operationen außerhalb der Funktion durch, aber nicht auf der richtigen Ebene. Sie befinden sich weder innerhalb der Funktion noch außerhalb. –

+1

Natürlich setzen Sie die Zeile 'print ('data')' nach der Zeile, wo Sie die Funktion aufrufen. (Mit anderen Worten, ich habe keine Ahnung, was Ihre genaue Frage ist.) – timgeb

+0

Was meinst du mit Daten? Der Rückgabewert der Funktion? Wenn ja, speichern Sie einfach den Wert in einer Variablen und übergeben Sie die Variable zum Plotten. Danach können Sie einfach auf die Variable drucken. – k4l4m

Antwort

0

einfach ein Zwischenschritt fügen Sie das Ergebnis drucken:

def runningMeanFast(x, N): 
    result = np.convolve(x, np.ones((N,))/N)[(N-1):] 
    print(result) 
    return result 

Dadurch werden die Daten drucken, und dann es zurück.

Wenn Sie die Daten zurückgeben möchten dann drucken, dann sollten Sie den zurückgegebenen Wert speichern und drucken Sie es nach all Ihre Verarbeitung:

data = runningMeanFast(SigUpper[time_fit], 5) 
plot(time[time_fit], data, 'b', label='convolution') 
# Processing... 
print(data) 
Verwandte Themen