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

@@ -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 = {}