Klar, blöd von mir. Ihr könnt ja keine Gedanken lesen.
Meine Hauptaufgabe besteht darin eine csv Datei einzulesen , Integrationsgewichte definieren und sie mit einer Normalverteilung zu plotten und schauen ob sie konvergiert.
Die Gewichte habe ich ziemlich ineffizient gelöst. Eine kleine Kostprobe
Code: Alles auswählen
import csv
import pandas as pd
#data = np.loadtxt('xy.csv',skiprows=1, delimiter=';')
data =pd.read_csv('xy.csv', delimiter=';')
x =data[:1]
w = data[:2]
a = (x/2 + 0.5)* 0.1
b= 0.1+(x/2+.5)*0.9
g = 1+(x/2+.5)*9
c= 10+(x/2+.5)*90
d= 100+(x/2+.5)*900
X=np.concatenate((a,b,g,c,d))
q= w* 0.1/2
e= w*0.9/2
r= w*9/2
m= w*90/2
n= w*900/2
W=np.concatenate((q,e,r,m,n))
plt.plot(W)
Daraufhin wollte ich die pdf definieren , welches wie folgt ausschaut
Code: Alles auswählen
def mepdf(MF,l):
def pdf(X):
for i in range(0,l.size):
Y[:,i]= MF[i](X)
np.exp(l * Y.T)
return pdf
return mepdf(MF,l)
Der Code ,welches in R Funktioniert schaut so aus
Code: Alles auswählen
me.pdf = function(MF,l) {
pdf = function(x){
for(i in 1:length(l)) X[,i] = MF[[i]](x)
exp(l%*%t(X))
}
pdf
}
Nur wenn ich in die Konsole bspw mepdf(1,2) eintrage
kommt die Meldung
Code: Alles auswählen
---------------------------------------------------------------------------
RecursionError Traceback (most recent call last)
<ipython-input-129-92a8d26d77f2> in <module>()
----> 1 mepdf(1,2)
<ipython-input-128-fe4a3881f4f8> in mepdf(MF, l)
8 np.exp(l * Y.T)
9 return pdf
---> 10 return mepdf(MF,l)
... last 1 frames repeated, from the frame below ...
<ipython-input-128-fe4a3881f4f8> in mepdf(MF, l)
8 np.exp(l * Y.T)
9 return pdf
---> 10 return mepdf(MF,l)
RecursionError: maximum recursion depth exceeded