Lösen einer Gleichung mit scipy ist fsolve

Ich versuche, lösen Sie die Gleichung f(x) = x-sin(x) -n*t -m0

In dieser Gleichung n und m0 sind Attribute, die definiert werden in meiner Klasse. Weiter t ist eine Konstante ganze Zahl in der Gleichung, aber es hat jedes mal ändert.

Hab ich gelöst, die Gleichung so bekomme ich eine "neue Gleichung". Ich habe importiert scipy.optimieren

def f(x, self):
    return (x - math.sin(x) -self.M0 - self.n*t)

def test(self,t):
    return fsolve(self.f, 1, args=(t))

Korrekturen und Vorschläge zu machen, damit es funktioniert?

  • Können Sie uns ein vollständiges Beispiel, auch das, was über dieses "funktioniert nicht"?
  • Ich glaube nicht, dass ich je gesehen habe f(x, self) vor.. das erste argument erhalten die Instanz, unabhängig davon, was Sie es nennen.
  • es ist mit fsolve aus scipy.optimieren
  • das Hauptproblem ist, dass es al ist, getan zu werden, in eine Klasse. das ist, warum ich brauchen, um zu definieren die Gleichung in f(x, self)
  • Der erste Fehler, die ich brauche, um loszuwerden, ist TypeError: func() takes exactly 2 arguments (3) also hat es wahrscheinlich etwas damit zu tun, args=(t), weil vor dem habe ich Hinzugefügt, dass es gar nicht geben, dass Fehler
InformationsquelleAutor Saybia | 2012-05-18
Schreibe einen Kommentar