Mit einem denke, mit scipy curve_fit

Ich habe eine Funktion, ich möchte Kurvenanpassung mit dem wissen der Fehler der Kurvenanpassung. Ich versuche, scipy.optimieren.curve_fit dies zu tun, aber bin knapp in problem. Jetzt mein code ist:

import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit

pi = np.pi
sqrt = np.sqrt
mean = np.mean

A = 1
T_2 = 100
nu_0 = 10
phi_0 = 0
n = .001
nu_s = 500
T = 1000

t = np.linspace(0, T, num = (nu_s*T))

def S_n(A,t,T_2,nu_0,phi_0,n,nu_s,T):
    return (A/np.sqrt(2))*np.exp(-t/T_2)*np.cos(2*pi*nu_0*t+phi_0)

S = S_n(A,t,T_2,nu_0,phi_0,n,nu_s,T) + np.random.normal(0, n, nu_s*T)

guess = np.array([A,T_2,nu_0,phi_0,n,nu_s,T])
print guess

popt, pcov = curve_fit(S_n,t,S, guess)
print popt
perr = sqrt(np.diag(pcov))
print perr

Gibt mir unendliche Fehler. Ich bin mir nicht sicher, ob ich das Tue, ist meine Vermutung richtig, weil in der Gleichung, es bleibt alles konstant außer t, so verlasse ich t aus meine Vermutung, da es nicht mehr ein array, denn t ist eine Sequenz. Wenn ich aus t aus der Vermutung, die ich hier mache erhalte ich Werte für jede variable, die weit von den Werten gebe ich zunächst mit unendlicher Fehler. Wenn ich t in die denke, dann bekomme ich eine Fehlermeldung.

InformationsquelleAutor GlassSeaHorse | 2015-01-16

Schreibe einen Kommentar