Numerische Methoden (für ODE/PDE), die Näherungslösungen/gute Anfangsschätzungen annehmen und diese bis zu einer bestimmten Genauigkeit weiter verfeinern könnten

Ich spiele derzeit mit einem alten analogen Computer, der zeitabhängige ODE/PDEs ziemlich schnell lösen konnte, ohne Zeitschritten; Daher gibt es keine Konvergenzprobleme, die durch Zeitschritte aufgrund ihrer Rechennatur verursacht werden. Das Problem mit analogen Computerlösungen besteht jedoch darin, dass sie aufgrund physikalischer Einschränkungen nicht genau sind. Ich bin sehr neugierig: Gibt es numerische Methoden / Löser, die die ungefähre Lösung des analogen Computers (über den Zeitbereich) verwenden können, um sie weiter zu verarbeiten und eine genauere Lösung zu generieren?

Lassen Sie mich ein Beispiel für die Lösung einer ODE zweiter Ordnung geben, die die Bewegung eines Masse-Feder-Dämpfers beschreibt. Die Gleichung ist die folgende:

X = 0,2 X ' 0,4 X ; X ( 0 ) = 1 , X ' ( 0 ) = 0 ; T S T Ö P = 60 S .
Um die obige Gleichung auf einem analogen Computer zu lösen, müssen wir die obige Gleichung auf ein elektrisches System abbilden. Normalerweise könnte ein analoger Computer mehrere grundlegende arithmetische Operationen im Bereich kontinuierlicher Zeit ausführen, z. B. Addition, Subtraktion, Multiplikation, Integration usw. Die Ausgabe eines Integrators repräsentiert eine Zustandsvariable der ODE; der Eingang dieses Integrators repräsentiert die entsprechende zeitliche Ableitung erster Ordnung. Indem wir die grundlegenden Rechenblöcke in Rückkopplungsschleifen konfigurieren, könnten wir die Gleichung wie folgt abbilden: (Ich verwende Simulink)

ODE zweiter Ordnung, abgebildet auf einen analogen Computer

Nachdem Sie die Anfangsbedingungen auf die Integratoren geladen haben, können Sie den analogen Computer laufen lassen und lösen. Wenn Sie das elektrische Signal am Ausgang von Integrator1 messen, erhalten Sie die Lösung von X ( T ) über den Zeitbereich:

Analoge Computerlösung von x(t)

Aber aufgrund der physikalischen Einschränkungen (z. B. elektrisches Rauschen, Offsets) ist die Lösung von X ( T ) ist nicht genau. Was ich suche, ist eine numerische Methode, die die obige Lösung von nehmen kann X ( T ) per Analogrechner, zB die Lösungen X ( T = 1 S ) , X ( T = 2 S ) , X ( T = 3 S ) , X ( T = 4 S ) . . . X ( T = 60 S ) , gehen Sie von diesen ungefähren Lösungspunkten aus und verfeinern Sie diese Lösung weiter X ( T = 1 S ) , . . . X ( T = 60 S ) zu einer viel höheren Genauigkeit.

(Diese ODE zweiter Ordnung ist nur ein einfacher Fall zur Veranschaulichung; sie hat zufällig einen analytischen Ausdruck von Lösungen. Der allgemeinere Fall wären nichtlineare ODEs ohne analytische Lösung.)

Vielen Dank im Voraus!! Alle Gedanken und Vorschläge sind sehr willkommen und werden geschätzt!!

Ich denke, Sie meinen, dass Sie die ODE in etwas ohne Zeitschritte verwandeln, was mehr oder weniger ein System algebraischer Gleichungen sein müsste . Es gibt viele solcher Methoden; beispielsweise sind spektrale Verfahren von dieser Art. (Im PDE-Kontext gehören vollspektrale Verfahren zu diesem Typ, partielle spektrale Verfahren dagegen nicht.)
@GiuseppeNegro Ich werde später ein Beispiel hinzufügen. Ich könnte Zahlen posten, weil ich mich gerade registriert habe :-)
@Ian Hallo Ian, eigentlich wandeln analoge Computer die ursprüngliche ODE in das entsprechende elektrische dynamische System um, und die Antwort des Systems ist die Lösung der ODE. Ich konnte meinem Thread jetzt wegen meiner schlechten Reputation keine Zahlen hinzufügen. Hier ist ein Link, der Ihnen weitere Informationen zu analogen Computern liefern könnte: analogmuseum.org/library/eaiapproach.pdf
In Wirklichkeit ist das eigentlich ziemlich gleich, weil ein echtes elektrisches System kein ideales Frequenzprofil hat (es ist unmöglich, eine Maschine zu entwickeln, die alle Frequenzen genau gleich durchlässt), also eine analoge Lösung für, sagen wir, X + X = Sünde ( T ) , X ( 0 ) = 0 , X ' ( 0 ) = 0 ist sehr ähnlich wie eine spektrale Lösung.
Ich stimme Giuseppe zu, dass diese Frage im Moment wahrscheinlich zu allgemein ist ... lösen Sie eine ODE oder PDE? Von welcher Art? Ihr analoger Computer fungiert als guter Vorkonditionierer für die niederfrequente Komponente der Lösung; Die meisten numerischen Methoden (die geeignete hängt von der Art des Problems ab) können dies ausnutzen.
@Ian Hallo Ian, ich habe gerade meinen Beitrag mit Zahlen aktualisiert. Analoge Computer wandeln die Lösungen im Zeitbereich nicht in den Frequenzbereich um.
@user7530 Hallo, ich habe gerade die Abbildung für das Beispiel hochgeladen. Ich löse zeitabhängige Differentialgleichungen. Analoge Computer bieten meiner Meinung nach nur ungefähre Zeitbereichslösungen, keine Vorbedingungen für Umformungszwecke.
@Nate Intern tun sie das nicht, du hast Recht. Die Fehlerquelle lässt sich aber am einfachsten im Frequenzbereich beschreiben: Generell wirkt eine Schaltung wie Ihre zusätzlich zum eigentlichen Prozess wie ein Tiefpassfilter. Dadurch sind die qualitativen Merkmale des Fehlers bei einer analogen Rechnerlösung und einer Spektralverfahrenslösung sehr ähnlich.
@Ian Danke, dass du das erwähnt hast. Ich habe wenig Erfahrung mit der Spektralmethode zum Lösen von ODEs. Ich muss es mehr studieren, um das zu kommentieren. Aber mein anfängliches Gefühl ist, dass es völlig unterschiedliche Methoden sind.

Antworten (3)

Wenn Sie eine gute anfängliche Schätzung haben, ist die Newton-Methode kaum zu schlagen. Quadratische Konvergenz bedeutet, dass sich die Anzahl der genauen Dezimalstellen (Binärstellen) mit jeder Iteration verdoppelt. Dies setzt voraus, dass sich die erste Ableitung langsam zwischen Ihrer Schätzung und der realen Lösung ändert, was bedeutet, dass die zweite Ableitung multipliziert mit Ihrem Fehler (zwischen der Schätzung und der realen Antwort) im Vergleich zur ersten Ableitung klein ist. Aus physikalischen Gründen wissen Sie, dass Ihre Lösung eine gedämpfte Sinuswelle ist, passen Sie sie also an A cos ( ω T ) exp ( λ T ) Was Sie für das Newton-Verfahren wirklich brauchen, sind Schätzungen von A , ω , λ , nicht Schätzungen von j ( T ) das ist, was Sie von Ihrer Schaltung bekommen. A ist einfach, es ist j ( 0 ) . würde ich nehmen ω ab dem letzten nulldurchgang konnte ich leicht erkennen und λ aus dem Verhältnis des ersten Peaks zur Ausgangsamplitude.

Hallo Roß, danke für deine Antwort. Tatsächlich ist diese ODE zweiter Ordnung ein einfaches Beispiel mit analytischem Ausdruck der Lösung. Was ich suche, ist ein allgemeiner Fall, in dem wir die Lösung nicht vorher kennen: Ist es möglich, dass wir den Wert von nehmen X ( T ) , zum Beispiel bei X ( T = 1 S ) , X ( T = 2 S ) , X ( T = 3 S ) , X ( T = 4 S ) , X ( T = 5 S ) . . . X ( T = 60 S ) als anfängliche Vermutungen, und füttern Sie diese Werte einem numerischen Löser, damit er von diesen Vermutungen ausgeht. Gibt es eine solche numerische Methode?
Sie können die Werte sicherlich an jede gewünschte funktionale Form anpassen. Die Wahl der Form kann eine Kunst sein. Beispielsweise könnten Sie ein Polynom einer bestimmten Ordnung wählen. Danach können Sie einen linearen Funktionsminimierer verwenden, um die Koeffizienten des Polynoms zu finden. Diese werden in jedem Text zur numerischen Analyse besprochen. Kapitel 10 von Numerical Recipes enthält eine Diskussion. Wenn Sie die Daten in gleichmäßigen Abständen nehmen, sind Sie für eine Fourrier-Analyse eingestellt.
Hallo Ross, danke für die Erwähnung dieses Buchkapitels. Ich werde sorgfältig lesen. Polynomische Anpassung könnte eine Möglichkeit sein, die Lösungen von analogen Computern zu übernehmen. Glaubst du, es gäbe ein numerisches Verfahren, bei dem man noch die klassische numerische Integration zur Zeitschrittbildung verwendet (z. B. Runge-Kutta 4. Ordnung) und die Näherungslösungen von analogen Computern nutzen kann? Vielen Dank!!
Ich würde nicht wissen, wie man eine Näherungslösung in einer Schrittroutine verwendet. Sie können die Näherungslösung als Ausgangspunkt für eine Entspannungsmethode nehmen, die auch in Numerische Rezepte als Möglichkeit zur Lösung von Zweipunktproblemen behandelt wird.
Hallo Roß, danke. Ich werde das Buch Numerical Recipes gut lesen, um zu sehen, ob ich die Näherungslösungen von analogen Computern nutzen kann.
Die Idee wäre, dass Sie haben X ( T ) Und X ' ( T ) in Intervallen vom Analogrechner. Sie können dann was auswerten X ( T ) sollte aus der Gleichung sein und mit dem analogen Computerergebnis vergleichen. Dann kannst du dich anpassen X ( T ) , X ' ( T ) in irgendeiner angemessenen Weise. Ich kann nicht helfen, was der richtige Weg wäre, aber vielleicht kann das Buch helfen.
Hallo Ross, was ich im Sinn hatte, ist etwas, das der "Newton-Methode" sehr ähnlich ist, die diese Werte von x zu verschiedenen Zeitpunkten nehmen und diese Datenpunkte durch Iterationen weiter verfeinern kann. Vielleicht ist dies eine Möglichkeit, paralleles Rechnen zum Lösen von ODEs durchzuführen?

Lassen Sie mich fast im gleichen Sinne wie Ross Millikans Antwort davon ausgehen, dass Sie die Anfangsbedingungen kennen X ( 0 ) = 1 , X ' ( 0 ) = 0 und dass das Modell so etwas ist

X ( T ) = e a T ( A cos ( β T ) + B Sünde ( β T ) )
und von Datenpunkten ( T ich , X ich ) vom analogen Computer genommen, möchten Sie die Werte der vier Parameter verfeinern A , B , a , β die im Modell erscheinen.

Dies kann als nichtlineares Regressionsproblem betrachtet werden, und das Hauptproblem besteht darin, "angemessene" Schätzungen zu erhalten.

Die erste Bedingung ergibt A = 1 und dies ist ein endgültiger Wert (es ist kein einzustellender Parameter mehr).

Betrachten wir nun die Ableitung

X ' ( T ) = e a T ( cos ( β T ) ( β B a A ) Sünde ( β T ) ( A β + a B ) )
gibt β B a A = 0 was bedeutet, dass wir auferlegen können B = a β .

All dies macht das Modell zu sein

X ( T ) = e a T ( a Sünde ( β T ) β + cos ( β T ) )
und wir haben nur noch zwei Parameter a , β für die wir Schätzungen benötigen. Anschauen
X ' ( T ) = ( a 2 + β 2 ) e a T Sünde ( β T ) β
wir sehen, dass das erste Minimum von X ( T ) entsprechen wird β T = π ; dies gibt eine Schätzung für β . An dieser Stelle haben wir
X ( T ) = e π a β = e a T
woraus die Schätzung von a lässt sich leicht herausziehen.

Jetzt haben wir alle erforderlichen Elemente, um mit der nichtlinearen Anpassung der Daten nach der Methode der kleinsten Quadrate zu beginnen.

Schaut man sich einfach den Plot in der Post an, nutzt man die Tatsache, dass das erste Minimum mehr oder weniger entspricht T = 5 , X = 0,6 , erhalten wir als Schätzungen β 0 = π 5 0,628319 Und a 0 = 1 5 Protokoll ( 5 3 ) 0,102165 während die genauen Werte sein sollten β = 39 10 0,624500 Und a = 1 10 . Die nichtlineare Regression konvergiert in ein paar Iterationen.

Lieber Claude, danke für deine ausführliche Antwort! Ich stimme Ihrer Methode für dieses Beispiel zu, wo wir den analytischen Ausdruck für die Lösung kennen. Für einen allgemeineren Fall wäre die ODE nichtlinear und hat keinen analytischen Ausdruck. Gibt es eine numerische Methode, die die Werte von direkt übernehmen kann? X ( T ) , zum Beispiel bei X ( T = 1 S ) , X ( T = 2 S ) , X ( T = 3 S ) , X ( T = 4 S ) , X ( T = 5 S ) . . . X ( T = 60 S ) als anfängliche Vermutungen und kann die Lösung auf eine viel höhere Genauigkeit verfeinern, ohne "menschliche Berechnung" in der Schleife? Danke!
@Nate. Ich stimme Ihrem Punkt vollkommen zu: Wenn wir die Form der Lösung kennen, ist diese Methode einfach anzuwenden (ich habe diese Art von Problemen bearbeitet, als ich in den 60er Jahren analoge Computer verwendete). Für den Fall, dass wir keine Ahnung haben sollten, sind glättende Splines sehr gut.
Wow, ich bin überrascht, dass Sie analoge Computer verwendet haben :-) Ich dachte, dies sei ein sehr altes Simulationstool, das nur sehr wenige Leute kannten. Analoge Computer haben eine Eigenschaft, die ich sehr mag: echte zeitkontinuierliche Integration. Eigentlich denke ich darüber nach, diese Funktion zu nutzen, um einen Weg zu finden, herkömmliche numerische ODE-Löser zu beschleunigen. Aber es sieht so aus, als ob numerische Löser ziemlich autark sind; die Näherungslösungen von Analogrechnern konnten sie nicht direkt beschleunigen...
Hast du mein Profil angeschaut? Ich habe vor 55 Jahren mit Computern angefangen. Analoge Computer sind Wunder für diese Klasse von Problemen. Es war ein Verbrechen, sie so zu töten, wie sie es getan haben. Beifall
Rechts! In den 50er / 60er Jahren wurde den Menschen beigebracht, analoge Computer für die Simulation zu verwenden! Ich habe gelesen, dass es in den 70er Jahren viele Debatten über "Analogcomputer vs. Digitalcomputer" gab, aber keine klaren Schlussfolgerungen gezogen wurden, dass digitale Computer in allen Aspekten den analogen überlegen sind. Dann hat die ganze Gemeinschaft seitdem digitale Computer angenommen. Ich denke, analoge Computer können aufgrund der inhärenten zeitkontinuierlichen Natur immer noch bessere Arbeit bei der Simulation dynamischer Systeme leisten.

Lesen Sie diesen Artikel von Columbia U. https://www.cs.columbia.edu/2016/back-to-analog-computing-columbia-researchers-merge-analog-and-digital-computing-on-a-single- Chip/

Sie scheinen zu versuchen, fast dasselbe zu tun, woran Sie gedacht haben, analoge Berechnungen zu verwenden, um eine gute anfängliche Schätzung zu erhalten, und dann digitale (im Grunde standardmäßige numerische Techniken) zu verwenden, um zu einer endgültigen akzeptablen Antwort zu gelangen, und das alles in einem echter Computerchip. Ziemlich cool, wenn du mich fragst.