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

View File

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