Unbekanntenvektor neu berechnen

This commit is contained in:
2025-12-18 17:09:59 +01:00
parent 90930d3619
commit 2519033f81
16 changed files with 11379 additions and 8491 deletions

View File

@@ -167,30 +167,6 @@ class FunktionalesModell:
def jacobi_matrix_zahlen_iteration_0(self, A_symbolisch, koordinatenart, liste_unbekannte = None, liste_zeilenbeschriftungen_gesamt = None):
if koordinatenart == "naeherung_us":
#db_zugriff = Datenbankzugriff(self.pfad_datenbank)
#dict_koordinaten_B_L = self.berechnungen.geometrische_breite_laenge(db_zugriff.get_koordinaten(koordinatenart))
#liste_beobachtungen = db_zugriff.get_beobachtungen_from_beobachtungenid()
#substitutionen = {}
#for punktnummer, vektor in dict_koordinaten_B_L.items():
# X_sym, Y_sym, Z_sym, B_sym, L_Sym = sp.symbols(f"X{punktnummer} Y{punktnummer} Z{punktnummer} B{punktnummer} L{punktnummer}")
# substitutionen[X_sym] = vektor[0][0]
# substitutionen[Y_sym] = vektor[0][1]
# substitutionen[Z_sym] = vektor[0][2]
# substitutionen[B_sym] = vektor[1]
# substitutionen[L_Sym] = vektor[2]
#for standpunkt, zielpunkt, beobachtungenID, tachymeter_richtung, tachymeter_zenitwinkel, tachymeter_distanz in liste_beobachtungen:
# alpha = sp.symbols(f"{beobachtungenID}_alpha{standpunkt}_{zielpunkt}")
# zw = sp.symbols(f"{beobachtungenID}_zw{standpunkt}_{zielpunkt}")
# s = sp.symbols(f"{beobachtungenID}_s{standpunkt}_{zielpunkt}")
# substitutionen[alpha] = tachymeter_richtung
# substitutionen[zw] = tachymeter_zenitwinkel
# substitutionen[s] = tachymeter_distanz
A_numerisch = A_symbolisch.xreplace(self.substitutionen_dict)
Export.matrix_to_csv(r"Zwischenergebnisse\Jacobi_Matrix_Numerisch_Iteration0.csv", liste_unbekannte,
@@ -216,9 +192,6 @@ class FunktionalesModell:
for beobachtung_symbolisch in liste_beobachtungsvektor_symbolisch:
aufgeteilt = beobachtung_symbolisch.split("_")
#beobachtungen_ID = aufgeteilt[0]
#beobachtungsart = aufgeteilt[1] # "SD", "R", "ZW"
#beobachtungsgruppeID = aufgeteilt[2]
standpunkt = str(aufgeteilt[3])
zielpunkt = str(aufgeteilt[4])
@@ -264,6 +237,24 @@ class FunktionalesModell:
return beobachtungsvektor_naeherung_numerisch_iteration0
def unbekanntenvektor_symbolisch(self, liste_unbekannte):
unbekanntenvektor_symbolisch = sp.Matrix(liste_unbekannte)
Export.matrix_to_csv(r"Zwischenergebnisse\Unbekanntenvektor_Symbolisch.csv", [""], liste_unbekannte, unbekanntenvektor_symbolisch,
"Unbekanntenvektor")
return(unbekanntenvektor_symbolisch)
def unbekanntenvektor_numerisch(self, liste_unbekanntenvektor_symbolisch, unbekanntenvektor_symbolisch, dX_Vektor = None, unbekanntenvektor_neumerisch_vorherige_Iteration = None):
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
Export.matrix_to_csv(r"Zwischenergebnisse\Unbekanntenvektor_Numerisch_Iteration0.csv", [""],
liste_unbekanntenvektor_symbolisch, unbekanntenvektor_numerisch,
"Unbekanntenvektor")
return unbekanntenvektor_numerisch
def berechnung_dl(self, beobachtungsvektor_numerisch, beobachtungsvektor_naeherung_numerisch):
dl = beobachtungsvektor_numerisch - beobachtungsvektor_naeherung_numerisch
return dl