np.ndarray ergänzen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
hubgra
User
Beiträge: 53
Registriert: Donnerstag 20. Juli 2023, 17:20

Ich habe ein Skript (50 Zeilen) verfasst, was zu gegebenen 4 Punkten eine Kurve zeichnet, die durch diese Punkte verläuft. Das soll nun für beliebig viele Punkte geschehen.
Dazu muss ein lineares Gleichungssystem gelöst werden, dessen Koeffizentenmatrix mit np.vander() unabhäng von der Punkte-Anzahl erzeugt werden kann. Die Lösung sei x, hier:
t = np.linspace(-20,20,100)
y = pow(t,3)*x[3] + pow(t,2)*x[2] + t*x[1] + x[0]
Um aber die Kurve bei 5 Punten zu plotten, müsste das ndarray y um pow(t,4)*x[4] ergänzt werden. Kann man dort etwa einen String 'pow(t,i)*x' einfügen?

Hat jemand Interesse an solchen Sachen? Dann müsste ich lernen, wie man im Forum den Code übermitteln kann.
hubgra
User
Beiträge: 53
Registriert: Donnerstag 20. Juli 2023, 17:20

Das sind Näherungmetoden, ich will es algebraisch angehen, und ich ändere die Punktkoordinaten, so dass eine Animation entsteht.
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

Da wird nichts genährt, sondern ein Optimierproblem gelöst. Und wenn Du so viele Ordnungen wie Punkte hast, dann geht das Polynom exakt durch alle Punkte. Und polyval ist egal, wie Du auf die Koeffizienten gekommen bist.
hubgra
User
Beiträge: 53
Registriert: Donnerstag 20. Juli 2023, 17:20

Na ja, ein Optimierungsproblem ist ein Näherungsverfahren.
Meine Frage war: Kann ich ein ndarray automatisch ergänzen lassen, wie np.vander von selbst die richtige Größe ermittelt?
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

Optimierung bedeutet erstmal nur, dass man für eine gegebene Merit-Funktion ein Minimum finden will, ob das nun über ein Näherungsverfahren (oder wie hier algebraisch) gelöst wird, ist eine andere Frage.
Und wie schon geschrieben, ist im trivialen Fall der Merit-Funktionswert 0 möglich, also dass das Polynom durch alle Punkte exakt geht.
Wenn es also passende Funktionen für Dein Problem gibt, dann solltest Du da nicht selbst was erfinden, sondern diese nutzen.
hubgra
User
Beiträge: 53
Registriert: Donnerstag 20. Juli 2023, 17:20

Ich wiederhole:
Kann ich ein ndarray automatisch ergänzen lassen, wie np.vander von selbst die richtige Größe ermittelt?
Antworten