मुझे पायथन में एक बुनियादी शॉर्टकट विधि का उपयोग कर एक बहुत ही अजीब त्रुटि मिल रही है। ऐसा लगता है, जब तक कि मैं बहुत मूर्ख जा रहा हूँ, मैं एक = ए + बी के लिए अलग मान मिलता है, और ए + = बी यहाँ मेरी कोड है:पायथन numpy अतिरिक्त त्रुटि
def variance(phi,sigma,numberOfIterations):
variance = sigma
for k in range(1,numberOfIterations):
phik = np.linalg.matrix_power(phi,k)
variance = variance + phik*sigma*phik.T
return variance
यह मूलतः सिर्फ एक वेक्टर autoregression की सहप्रसरण की गणना करता है । तो के लिए:
phi = np.matrix('0.7 0.2 -0.1; 0.001 0.8 0.1; 0.001 0.002 0.9')
sigma = np.matrix('0.07 0.01 0.001; 0.01 0.05 0.004; 0.001 0.004 0.01')
मैं:
variance(phi,sigma,10) =
[[ 0.1825225 0.07054728 0.00430524]
[ 0.07054728 0.14837229 0.02659357]
[ 0.00430524 0.02659357 0.04657858]]
यह सही मेरा मानना है कि है (Matlab के साथ सहमत हैं)। अब अगर मैं ऊपर
variance += phik*sigma*(phik.T)
को मैं लाइन बदलने के लिए:
variance(phi,sigma,10) =
[[ 0.34537165 0.20258329 0.04365378]
[ 0.20258329 0.33471052 0.1529369 ]
[ 0.04365378 0.1529369 0.19684553]]
क्या चल रहा?
बहुत धन्यवाद
दान
'एक = एक .__ __ (बी) को जोड़ने के' = 'एक = एक .__ iadd __ (बी)' अगर एक परिवर्तनशील – JBernardo
है यह भी के दायरे में एक चर के लिए एक तरह से अजीब है आपके फ़ंक्शन के समान नाम के साथ कार्य करें। –