Ich hab ein problem mit einer Vektor-Funktion in der ich auch das Matrixprodukt mit numpy.dot anwende.
Meine Funktion zerfällt eigentlich für t-> unendlich, aber irgendwie werden die werte wieder größer null nach dem Matrixprodukt:
Code: Alles auswählen
import numpy as np
def Mat(k,d):
M=np.zeros(d*d)
M=M.reshape(d,d)
M[0,0]=-k
M[0,1]=k
for i in range(1,M.shape[0]-1):
M[i,i-1]=M[i,i-1]+k
M[i,i]=M[i,i]-2*k
M[i,i+1]=M[i,i+1]+k
M[M.shape[1]-1,M.shape[1]-2]= k
M[M.shape[1]-1,M.shape[1]-1]=-k
return M
M=Mat(3,10)
const=2*np.ones(10)
t=1000
ew,Si = np.linalg.eig(M)
v=np.exp(ew*t)
p=np.dot(Si, const*v)
Auch für höhere t .. das bleibt konstant.. was mach ich falsch?
Einer der Eigenwerte ist extrem klein.. das macht für mich keinen sinn.. hilfe