Jakobimatrix bereit für Iterationen

This commit is contained in:
2025-12-19 09:57:55 +01:00
parent b5f5161b3d
commit 6428e15757
2 changed files with 17 additions and 12 deletions

View File

@@ -1115,8 +1115,8 @@
{ {
"metadata": { "metadata": {
"ExecuteTime": { "ExecuteTime": {
"end_time": "2025-12-19T07:56:16.809753Z", "end_time": "2025-12-19T08:56:05.522368Z",
"start_time": "2025-12-19T07:56:16.734964Z" "start_time": "2025-12-19T08:56:05.311947Z"
} }
}, },
"cell_type": "code", "cell_type": "code",
@@ -1133,9 +1133,7 @@
"print(unbekanntenvektor_numerisch_iteration0)\n", "print(unbekanntenvektor_numerisch_iteration0)\n",
"print(\"-----\")\n", "print(\"-----\")\n",
"unbekanntenvektor_numerisch = fm.unbekanntenvektor_numerisch(Jacobimatrix_symbolisch_liste_unbekannte, unbekanntenvektor_symbolisch, dx, unbekanntenvektor_numerisch_iteration0)\n", "unbekanntenvektor_numerisch = fm.unbekanntenvektor_numerisch(Jacobimatrix_symbolisch_liste_unbekannte, unbekanntenvektor_symbolisch, dx, unbekanntenvektor_numerisch_iteration0)\n",
"print(unbekanntenvektor_numerisch)\n", "print(unbekanntenvektor_numerisch)"
"\n",
"print(fm.unbekanntenvektor_numerisch_to_dict_unbekanntenvektor(Jacobimatrix_symbolisch_liste_unbekannte, unbekanntenvektor_numerisch))"
], ],
"id": "122dca077d1d267c", "id": "122dca077d1d267c",
"outputs": [ "outputs": [
@@ -1149,7 +1147,7 @@
] ]
} }
], ],
"execution_count": 21 "execution_count": 34
} }
], ],
"metadata": { "metadata": {

View File

@@ -160,6 +160,8 @@ class FunktionalesModell:
else: else:
return None return None
self.liste_unbekanntenvektor_symbolisch = liste_unbekannte
Export.matrix_to_csv(r"Zwischenergebnisse\Jacobi_Matrix_Symbolisch.csv", liste_unbekannte, Export.matrix_to_csv(r"Zwischenergebnisse\Jacobi_Matrix_Symbolisch.csv", liste_unbekannte,
liste_zeilenbeschriftungen_gesamt, A_gesamt, "Beobachtung") liste_zeilenbeschriftungen_gesamt, A_gesamt, "Beobachtung")
return A_gesamt, liste_unbekannte, liste_zeilenbeschriftungen_gesamt return A_gesamt, liste_unbekannte, liste_zeilenbeschriftungen_gesamt
@@ -244,13 +246,15 @@ class FunktionalesModell:
return(unbekanntenvektor_symbolisch) return(unbekanntenvektor_symbolisch)
def unbekanntenvektor_numerisch(self, liste_unbekanntenvektor_symbolisch, unbekanntenvektor_symbolisch, dX_Vektor = None, unbekanntenvektor_neumerisch_vorherige_Iteration = None): def unbekanntenvektor_numerisch(self, liste_unbekanntenvektor_symbolisch, unbekanntenvektor_symbolisch, dX_Vektor = None, unbekanntenvektor_neumerisch_vorherige_Iteration = None):
if not hasattr(self, "liste_unbekanntenvektor_symbolisch"):
self.liste_unbekanntenvektor_symbolisch = liste_unbekanntenvektor_symbolisch
if dX_Vektor is None and unbekanntenvektor_neumerisch_vorherige_Iteration is None: if dX_Vektor is None and unbekanntenvektor_neumerisch_vorherige_Iteration is None:
unbekanntenvektor_numerisch = unbekanntenvektor_symbolisch.xreplace(self.substitutionen_dict) unbekanntenvektor_numerisch = unbekanntenvektor_symbolisch.xreplace(self.substitutionen_dict)
else: else:
unbekanntenvektor_numerisch = unbekanntenvektor_neumerisch_vorherige_Iteration + dX_Vektor unbekanntenvektor_numerisch = unbekanntenvektor_neumerisch_vorherige_Iteration + dX_Vektor
dict_unbekanntenvektor = self.unbekanntenvektor_numerisch_to_dict_unbekanntenvektor(liste_unbekanntenvektor_symbolisch, unbekanntenvektor_numerisch) self.substitutionen_dict = self.dict_substitutionen_uebergeordnetes_system(unbekanntenvektor_numerisch)
self.substitutionen_dict = self.dict_substitutionen_uebergeordnetes_system(dict_unbekanntenvektor)
Export.matrix_to_csv(r"Zwischenergebnisse\Unbekanntenvektor_Numerisch_Iteration0.csv", [""], Export.matrix_to_csv(r"Zwischenergebnisse\Unbekanntenvektor_Numerisch_Iteration0.csv", [""],
liste_unbekanntenvektor_symbolisch, unbekanntenvektor_numerisch, liste_unbekanntenvektor_symbolisch, unbekanntenvektor_numerisch,
@@ -285,11 +289,14 @@ class FunktionalesModell:
def dict_substitutionen_uebergeordnetes_system(self, unbekanntenvektor_aus_iteration = None): def dict_substitutionen_uebergeordnetes_system(self, unbekanntenvektor_aus_iteration = None):
db_zugriff = Datenbankzugriff(self.pfad_datenbank) db_zugriff = Datenbankzugriff(self.pfad_datenbank)
if unbekanntenvektor_aus_iteration is None: if unbekanntenvektor_aus_iteration is None:
dict_koordinaten_B_L = self.berechnungen.geometrische_breite_laenge(db_zugriff.get_koordinaten("naeherung_us")) dict_koordinaten = db_zugriff.get_koordinaten("naeherung_us")
else: else:
dict_unbekanntenvektor_aus_iteration = self.unbekanntenvektor_numerisch_to_dict_unbekanntenvektor(unbekanntenvektor_aus_iteration) dict_koordinaten = self.unbekanntenvektor_numerisch_to_dict_unbekanntenvektor(
dict_koordinaten_B_L = self.berechnungen.geometrische_breite_laenge( self.liste_unbekanntenvektor_symbolisch,
dict_unbekanntenvektor_aus_iteration) unbekanntenvektor_aus_iteration
)
dict_koordinaten_B_L = self.berechnungen.geometrische_breite_laenge(dict_koordinaten)
liste_beobachtungen = db_zugriff.get_beobachtungen_from_beobachtungenid() liste_beobachtungen = db_zugriff.get_beobachtungen_from_beobachtungenid()
substitutionen = {} substitutionen = {}