numerical-methods

___ answer13363583 ___

Ohne den Code ausgeführt zu haben, ist meine erste Schätzung, dass Sie mit Gleitkommawerten für die Gleichheit vergleichen, um festzustellen, ob Ihre Lösung konvergiert ist.

%Vor%

Vielleicht sollten Sie es als Verhältnis berechnen:

%Vor%     
___ answer13364524 ___

Ich bin mir nicht sicher, warum genau, aber die Überprüfung, ob die Funktion schnell genug abnimmt, scheint in diesem Fall nicht zu funktionieren.

Es funktioniert, wenn ich es so mache:

%Vor%

AKTUALISIEREN

Es sieht so aus, als gäbe es ein Problem in Ihrem Code:

%Vor%

sollte

sein %Vor%     
___ qstnhdr ___ Newton Raphson Hybrid-Algorithmus erreicht keine Lösung ___ qstntxt ___

Kurze Erklärung des Problems: Ich verwende den Newton-Raphson-Algorithmus für das Wurzelfinden in Polynomen und funktioniert in einigen Fällen nicht. Warum?

Ich habe aus "numerischen Rezepten in C ++" einen Newton-Raphson-Hybrid-Algorithmus genommen, der halbiert, falls New-Raph nicht richtig konvergiert (mit einem niedrigen Ableitungswert oder wenn die Konvergenzgeschwindigkeit nicht schnell ist).

Ich habe den Algorithmus mit mehreren Polynomen überprüft und es hat funktioniert. Jetzt teste ich innerhalb der Software, die ich habe, und ich habe immer einen Fehler mit einem bestimmten Polynom bekommen. Mein Problem ist, dass ich nicht weiß, warum dieses Polynom einfach nicht zum Ergebnis kommt, wenn es viele andere tun. Da ich den Algorithmus für jedes Polynom verbessern möchte, muss y wissen, welcher der Gründe für keine Konvergenz ist, damit ich ihn richtig behandeln kann.

Nachfolgend werde ich alle Informationen, die ich über den Algorithmus und das Polynom, in dem ich den Fehler habe, bereitstellen kann, veröffentlichen.

Das Polynom:

%Vor%

Es ist die erste Ableitung:

%Vor%

Plot:

Wurzeln (von Matlab):

%Vor%

Algorithmus:

%Vor%

Der Algorithmus wird mit den nächsten Variablen aufgerufen:

%Vor%

Das Problem besteht darin, dass der Algorithmus die maximalen Iterationen überschreitet und es einen Fehler für die Wurzel von ungefähr %code% gibt.

Also meine direkte und abgeklärte Frage ist: Warum erreicht dieses Polynom keinen genauen Fehler, wenn viele (1000 mindestens) andere sehr ähnliche Polynome tun (wuth 1e-10 der Präzision und wenige Iterationen!)

Ich weiß, dass die Frage schwierig ist und vielleicht keine direkte Antwort hat, aber ich stecke seit einigen Tagen damit herum und weiß nicht, wie ich es lösen soll. Vielen Dank, dass Sie sich Zeit genommen haben, meine Frage zu lesen.

    
___ tag123c ___ C ++ ist eine universelle Programmiersprache. Es wurde ursprünglich als Erweiterung von C entworfen und behält eine ähnliche Syntax, ist aber jetzt eine komplett andere Sprache. Verwenden Sie dieses Tag für Fragen zu Code, der mit einem C ++ - Compiler kompiliert werden soll. ___ tag123math ___ Mathematik ist das Studium von Quantität, Struktur, Raum und Veränderung. Alle mathematischen Fragen auf dieser Website sollten programmbezogen sein. ___ tag123numerische Methoden ___ Algorithmen, die mathematische Probleme mittels numerischer Approximation lösen (im Gegensatz zur symbolischen Berechnung). ___ tag123newtonsmethod ___ In der numerischen Analyse ist Newtons Methode (auch als Newton-Raphson-Methode bekannt) eine Methode, um sukzessive bessere Näherungen an die Wurzeln (oder Nullen) einer reellwertigen Funktion zu finden. ___
6
Antworten

inkrementelle Methode zum Zählen von Quantilen für große Datenmengen

Ich muss die Quantile für eine große Menge von Daten zählen. Nehmen wir an, wir können die Daten nur durch einige Teile erhalten (d. h. eine Reihe einer großen Matrix). Um das Q3-Quantil zu zählen, muss man alle Teile der Daten erhalten und i...
14.05.2010, 20:14
4
Antworten

Schnelle Gradientenabstieg-Implementierung in einer C ++ - Bibliothek?

Ich möchte eine Gradienten-Abstiegsoptimierung durchführen, um die Kosten für eine Instanziierung von Variablen zu minimieren. Mein Programm ist sehr rechenintensiv, deshalb suche ich nach einer beliebten Bibliothek mit einer schnellen Implement...
16.07.2012, 23:12
3
Antworten

Wie kann ich die Ableitung einer Spline-Funktion in R auswerten?

R kann mithilfe von splinefun () in der Splines-Bibliothek eine Spline-Funktion generieren. Allerdings muss ich diese Funktion bei ihrer ersten und zweiten Ableitung auswerten. Gibt es eine Möglichkeit, dies zu tun? zum Beispiel %Vor% Wie...
02.12.2010, 19:20
3
Antworten

argsort für ein multidimensionales ndarray

Ich versuche, die Indizes dazu zu bringen, ein mehrdimensionales Array nach der letzten Achse zu sortieren, z. B. %Vor% Und ich möchte die Indizes i so, %Vor% Basierend auf der Dokumentation von numpy.argsort dachte ich, es sollte f...
15.10.2015, 05:38
2
Antworten

Mit welchen Algorithmen berechnen FPUs transzendente Funktionen?

Welche Methoden würde eine moderne FPU verwenden, um transzendentale Funktionen zu berechnen? Beispielsweise geben Intel-CPUs Anweisungen wie FSIN , FCOS , FYL2X usw. an. Ich bin neugierig, welche Algorithmen verwendet werden würden,...
14.12.2012, 10:56
2
Antworten

Algorithmus für die Festkomma-Multiplikation

Ich versuche, einen Zeitstempel (nur Bruchteil von Sekunden) von Nanosekunden (Einheiten von 10 ^ -9 Sekunden) auf die untere Hälfte eines NTP-Zeitstempels (Einheiten von 2 ^ -32 Sekunden) zu skalieren. Effektiv bedeutet dies Multiplizieren mit...
03.03.2011, 23:50
5
Antworten

Wie berechne ich die "Differenz" zwischen zwei Punktfolgen?

Ich habe zwei Sequenzen der Länge n und m. Jede ist eine Folge von Punkten der Form (x, y) und repräsentiert Kurven in einem Bild. Ich muss herausfinden, wie verschieden (oder ähnlich) diese Sequenzen gegeben sind, dass eine Sequenz ist wahr...
20.06.2011, 21:55
2
Antworten

Newton Raphson Hybrid-Algorithmus erreicht keine Lösung

Kurze Erklärung des Problems: Ich verwende den Newton-Raphson-Algorithmus für das Wurzelfinden in Polynomen und funktioniert in einigen Fällen nicht. Warum? Ich habe aus "numerischen Rezepten in C ++" einen Newton-Raphson-Hybrid-Algorithmus g...
13.11.2012, 15:15