Numerische MAtrizen auf numpy umgestellt

This commit is contained in:
2025-12-31 16:03:38 +01:00
parent 59b7f33cf1
commit 01df1d55bf
11 changed files with 14361 additions and 5467 deletions

12
.idea/dataSources.xml generated Normal file
View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
<data-source source="LOCAL" name="Campusnetz" uuid="ba09b3aa-ac11-48c0-9ae7-e8732809bf05">
<driver-ref>sqlite.xerial</driver-ref>
<synchronize>true</synchronize>
<jdbc-driver>org.sqlite.JDBC</jdbc-driver>
<jdbc-url>jdbc:sqlite:$PROJECT_DIR$/Campusnetz.db</jdbc-url>
<working-dir>$ProjectFileDir$</working-dir>
</data-source>
</component>
</project>

File diff suppressed because it is too large Load Diff

View File

@@ -19,6 +19,10 @@ class Export:
for eintrag in zeile:
try:
eintrag_text = str(eintrag).replace(".", ",")
try:
eintrag_text = float(eintrag_text)
except:
eintrag_text = eintrag_text
except Exception:
eintrag_text = str(eintrag)
zeile_als_text.append(eintrag_text)
@@ -45,6 +49,10 @@ class Export:
try:
eintrag_float = float(eintrag)
eintrag_text = f"{eintrag_float}".replace(".", ",")
try:
eintrag_text = float(eintrag_text)
except:
eintrag_text = eintrag_text
except Exception:
eintrag_text = str(eintrag)
zeile_als_text.append(eintrag_text)

View File

@@ -2,6 +2,8 @@ from Datenbank import *
import sympy as sp
from Export import Export
from Berechnungen import Berechnungen
import numpy as np
class FunktionalesModell:
@@ -10,6 +12,11 @@ class FunktionalesModell:
self.berechnungen = Berechnungen(a, b)
self.substitutionen_dict = self.dict_substitutionen_uebergeordnetes_system()
self.dict_punkt_symbole = {}
self.liste_symbole_lambdify = sorted(self.substitutionen_dict.keys(), key=lambda s: str(s))
self.func_beob0 = None
self.func_A0 = None
self.func_u0 = None
self.liste_beobachtungsvektor_symbolisch = None
def jacobi_matrix_symbolisch(self):
liste_beobachtungsarten = ["tachymeter_distanz", "tachymeter_richtung", "tachymeter_zenitwinkel"]
@@ -417,9 +424,22 @@ class FunktionalesModell:
return A_gesamt, liste_unbekannte, liste_zeilenbeschriftungen_gesamt
def jacobi_matrix_zahlen_iteration_0(self, A_symbolisch, koordinatenart, liste_unbekannte = None, liste_zeilenbeschriftungen_gesamt = None):
self.liste_beobachtungsvektor_symbolisch = [str(x) for x in liste_zeilenbeschriftungen_gesamt]
if koordinatenart == "naeherung_us":
A_numerisch = A_symbolisch.xreplace(self.substitutionen_dict)
#A_numerisch = A_symbolisch.xreplace(self.substitutionen_dict)
if self.func_A0 is None:
#self.liste_symbole_lambdify = sorted(self.substitutionen_dict.keys(), key=lambda s: str(s))
self.func_A0 = sp.lambdify(
self.liste_symbole_lambdify,
A_symbolisch,
modules="numpy",
cse=True
)
liste_werte = [self.substitutionen_dict[s] for s in self.liste_symbole_lambdify]
#A_numerisch = sp.Matrix(self.func_A0(*liste_werte))
A_numerisch = np.asarray(self.func_A0(*liste_werte), dtype=float)
Export.matrix_to_csv(r"Zwischenergebnisse\Jacobi_Matrix_Numerisch_Iteration0.csv", liste_unbekannte,
liste_zeilenbeschriftungen_gesamt, A_numerisch, "Beobachtung")
@@ -581,7 +601,21 @@ class FunktionalesModell:
return beobachtungsvektor_naeherung_symbolisch
def beobachtungsvektor_naeherung_numerisch_iteration0(self, liste_beobachtungsvektor_symbolisch, beobachtungsvektor_naeherung_symbolisch):
beobachtungsvektor_naeherung_numerisch_iteration0 = beobachtungsvektor_naeherung_symbolisch.xreplace(self.substitutionen_dict)
#beobachtungsvektor_naeherung_numerisch_iteration0 = beobachtungsvektor_naeherung_symbolisch.xreplace(self.substitutionen_dict)
if self.func_beob0 is None:
#self.liste_symbole_lambdify = sorted(self.substitutionen_dict.keys(), key=lambda s: str(s))
self.func_beob0 = sp.lambdify(
self.liste_symbole_lambdify,
beobachtungsvektor_naeherung_symbolisch,
modules="numpy",
cse=True
)
liste_werte = [self.substitutionen_dict[s] for s in self.liste_symbole_lambdify]
#beobachtungsvektor_naeherung_numerisch_iteration0 = sp.Matrix(self.func_beob0(*liste_werte))
beobachtungsvektor_naeherung_numerisch_iteration0 = np.asarray(self.func_beob0(*liste_werte),
dtype=float).reshape(-1, 1)
Export.matrix_to_csv(r"Zwischenergebnisse\Beobachtungsvektor_Näherung_Numerisch_Iteration0.csv", [""],
liste_beobachtungsvektor_symbolisch, beobachtungsvektor_naeherung_numerisch_iteration0,
"Beobachtungsvektor")
@@ -599,8 +633,25 @@ class FunktionalesModell:
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)
#unbekanntenvektor_numerisch = unbekanntenvektor_symbolisch.xreplace(self.substitutionen_dict)
if self.func_u0 is None:
self.func_u0 = sp.lambdify(
self.liste_symbole_lambdify,
unbekanntenvektor_symbolisch,
modules="numpy",
cse=True
)
liste_werte = [self.substitutionen_dict[s] for s in self.liste_symbole_lambdify]
#unbekanntenvektor_numerisch = sp.Matrix(self.func_u0(*liste_werte))
unbekanntenvektor_numerisch = np.asarray(self.func_u0(*liste_werte), dtype=float).reshape(-1, 1)
else:
#unbekanntenvektor_numerisch = unbekanntenvektor_neumerisch_vorherige_Iteration + dX_Vektor
unbekanntenvektor_neumerisch_vorherige_Iteration = np.asarray(
unbekanntenvektor_neumerisch_vorherige_Iteration, dtype=float).reshape(-1, 1)
dX_Vektor = np.asarray(dX_Vektor, dtype=float).reshape(-1, 1)
unbekanntenvektor_numerisch = unbekanntenvektor_neumerisch_vorherige_Iteration + dX_Vektor
self.substitutionen_dict = self.dict_substitutionen_uebergeordnetes_system(unbekanntenvektor_numerisch)
@@ -622,20 +673,24 @@ class FunktionalesModell:
punktnummer = str(name[1:])
dict_unbekanntenvektor_numerisch[punktnummer] = sp.Matrix([
unbekanntenvektor_numerisch[index],
unbekanntenvektor_numerisch[index + 1],
unbekanntenvektor_numerisch[index + 2]
float(unbekanntenvektor_numerisch[index]),
float(unbekanntenvektor_numerisch[index + 1]),
float(unbekanntenvektor_numerisch[index + 2])
])
index += 3
return dict_unbekanntenvektor_numerisch
def berechnung_dl(self, beobachtungsvektor_numerisch, beobachtungsvektor_naeherung_numerisch):
def berechnung_dl(self, beobachtungsvektor_numerisch, beobachtungsvektor_naeherung_numerisch,
liste_beobachtungsvektor_symbolisch=None):
dl = beobachtungsvektor_numerisch - beobachtungsvektor_naeherung_numerisch
dl = np.asarray(dl, dtype=float)
if liste_beobachtungsvektor_symbolisch is None:
liste_beobachtungsvektor_symbolisch = self.liste_beobachtungsvektor_symbolisch
for i, name in enumerate(liste_beobachtungsvektor_symbolisch):
if "_R_" in name:
dl[i] = sp.atan2(sp.sin(dl[i]), sp.cos(dl[i])) # wrap auf (-pi, pi]
if "_R_" in str(name):
dl[i] = np.arctan2(np.sin(dl[i]), np.cos(dl[i]))
return dl
@@ -657,20 +712,24 @@ class FunktionalesModell:
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]
substitutionen[X_sym] = float(vektor[0][0])
substitutionen[Y_sym] = float(vektor[0][1])
substitutionen[Z_sym] = float(vektor[0][2])
substitutionen[B_sym] = float(vektor[1])
substitutionen[L_Sym] = float(vektor[2])
for standpunkt, zielpunkt, beobachtungenID, beobachtungsgruppeID, tachymeter_richtung, tachymeter_zenitwinkel, tachymeter_distanz in liste_beobachtungen:
alpha = sp.symbols(f"{beobachtungenID}_R_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}")
zw = sp.symbols(f"{beobachtungenID}_ZW_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}")
s = sp.symbols(f"{beobachtungenID}_SD_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}")
substitutionen[alpha] = tachymeter_richtung
substitutionen[zw] = tachymeter_zenitwinkel
substitutionen[s] = tachymeter_distanz
if tachymeter_richtung is None and tachymeter_zenitwinkel is None and tachymeter_distanz is None:
continue
substitutionen[alpha] = float(tachymeter_richtung)
substitutionen[zw] = float(tachymeter_zenitwinkel)
substitutionen[s] = float(tachymeter_distanz)
substitutionen[sp.Symbol(f"O{beobachtungsgruppeID}")] = 0.0
if unbekanntenvektor_aus_iteration is not None:
dict_O = self.unbekanntenvektor_numerisch_to_dict_orientierungen(
@@ -678,7 +737,7 @@ class FunktionalesModell:
unbekanntenvektor_aus_iteration
)
for orientierungs_id, wert in dict_O.items():
substitutionen[sp.Symbol(f"O{orientierungs_id}")] = wert
substitutionen[sp.Symbol(f"O{orientierungs_id}")] = float(wert)
else:
for standpunkt, zielpunkt, beobachtungenID, beobachtungsgruppeID, *_ in liste_beobachtungen:
O_sym = sp.Symbol(f"O{beobachtungsgruppeID}")
@@ -695,6 +754,6 @@ class FunktionalesModell:
name = str(symbol)
if name.startswith("O"):
orientierungs_id = name[1:]
dict_O[orientierungs_id] = unbekanntenvektor_numerisch[i]
dict_O[orientierungs_id] = float(unbekanntenvektor_numerisch[i])
return dict_O

View File

@@ -1,4 +1,5 @@
import sympy as sp
import numpy as np
from dataclasses import dataclass, field
from typing import Dict, Tuple, Iterable
from Export import Export
@@ -21,34 +22,54 @@ class StochastischesModell:
self.gruppe_beob = [1] * int(self.n_beob)
# In SymPy-Spaltenvektoren umwandeln
self.sigma_beob = sp.Matrix(list(self.sigma_beob))
self.gruppe_beob = sp.Matrix(list(self.gruppe_beob))
#self.sigma_beob = sp.Matrix(list(self.sigma_beob))
#self.gruppe_beob = sp.Matrix(list(self.gruppe_beob))
# Dimension prüfen
if self.sigma_beob.rows != self.gruppe_beob.rows:
#if self.sigma_beob.rows != self.gruppe_beob.rows:
# raise ValueError("sigma_beob und gruppe_beob müssen gleich viele Einträge haben.")
#if self.sigma_beob.rows != int(self.n_beob):
# raise ValueError("n_beob passt nicht zur Länge von sigma_beob / gruppe_beob.")
# Fehlende Gruppen mit sigma0_sq = 1.0 ergänzen
#unique_groups = sorted({int(g) for g in self.gruppe_beob})
#for g in unique_groups:
# if g not in self.sigma0_gruppe:
# self.sigma0_gruppe[g] = 1.0
# In NumPy-Spaltenvektoren umwandeln
self.sigma_beob = np.asarray(list(self.sigma_beob), dtype=float).reshape(-1, 1)
self.gruppe_beob = np.asarray(list(self.gruppe_beob), dtype=int).reshape(-1, 1)
# Dimension prüfen
if self.sigma_beob.shape[0] != self.gruppe_beob.shape[0]:
raise ValueError("sigma_beob und gruppe_beob müssen gleich viele Einträge haben.")
if self.sigma_beob.rows != int(self.n_beob):
if self.sigma_beob.shape[0] != int(self.n_beob):
raise ValueError("n_beob passt nicht zur Länge von sigma_beob / gruppe_beob.")
# Fehlende Gruppen mit sigma0_sq = 1.0 ergänzen
unique_groups = sorted({int(g) for g in self.gruppe_beob})
unique_groups = sorted({int(g) for g in self.gruppe_beob.flatten()})
for g in unique_groups:
if g not in self.sigma0_gruppe:
self.sigma0_gruppe[g] = 1.0
self.func_Qll_numerisch = None
self.liste_symbole_lambdify = None
def berechne_Qll(self) -> Tuple[sp.Matrix, sp.Matrix]:
n = self.n_beob
Q_ll = sp.zeros(n, n)
P = sp.zeros(n, n)
for i in range(self.n_beob):
sigma_i = self.sigma_beob[i, 0] #σ-Wert der i-ten Beobachtung holen
g = int(self.gruppe_beob[i, 0]) #Gruppenzugehörigkeit der Beobachtung bestimmen
sigma0_sq = self.sigma0_gruppe[g] #Den Varianzfaktor der Gruppe holen
q_ii = sigma_i**2 #σ² berechnen
Q_ll[i, i] = q_ii #Diagonale
return Q_ll
#def berechne_Qll(self) -> Tuple[sp.Matrix, sp.Matrix]:
# n = self.n_beob
# Q_ll = sp.zeros(n, n)
# P = sp.zeros(n, n)
# for i in range(self.n_beob):
# sigma_i = self.sigma_beob[i, 0] #σ-Wert der i-ten Beobachtung holen
# g = int(self.gruppe_beob[i, 0]) #Gruppenzugehörigkeit der Beobachtung bestimmen
# sigma0_sq = self.sigma0_gruppe[g] #Den Varianzfaktor der Gruppe holen
# q_ii = sigma_i**2 #σ² berechnen
# Q_ll[i, i] = q_ii #Diagonale
# return Q_ll
def Qll_symbolisch(self, pfad_datenbank, liste_beobachtungen_symbolisch):
liste_standardabweichungen_symbole = []
@@ -155,7 +176,18 @@ class StochastischesModell:
if distanz is not None:
substitutionen[sp.Symbol(f"SD_{beobachtungenID}")] = float(distanz)
Qll_numerisch = Qll_Matrix_Symbolisch.xreplace(substitutionen)
#Qll_numerisch = Qll_Matrix_Symbolisch.xreplace(substitutionen)
if (self.func_Qll_numerisch is None) or (set(self.liste_symbole_lambdify) != set(substitutionen.keys())):
self.liste_symbole_lambdify = sorted(substitutionen.keys(), key=lambda s: str(s))
self.func_Qll_numerisch = sp.lambdify(
self.liste_symbole_lambdify,
Qll_Matrix_Symbolisch,
modules="numpy",
cse=True
)
liste_werte = [substitutionen[s] for s in self.liste_symbole_lambdify]
Qll_numerisch = np.asarray(self.func_Qll_numerisch(*liste_werte), dtype=float)
Export.matrix_to_csv(
r"Zwischenergebnisse\Qll_Numerisch.csv",
@@ -167,31 +199,22 @@ class StochastischesModell:
return Qll_numerisch
def berechne_P(Q_ll: sp.Matrix) -> sp.Matrix:
P = Q_ll.inv()
return P
@staticmethod
def berechne_P(Q_ll):
return np.linalg.inv(Q_ll)
def berechne_Q_xx(N: sp.Matrix) -> sp.Matrix:
if N.rows != N.cols:
@staticmethod
def berechne_Q_xx(N):
if N.shape[0] != N.shape[1]:
raise ValueError("N muss eine quadratische Matrix sein")
Q_xx = N.inv()
return Q_xx
return np.linalg.inv(N)
def berechne_Qvv(self, A, P, Q_xx):
Q_vv = np.linalg.inv(P) - A @ Q_xx @ A.T
return Q_vv
def berechne_Qvv(self, A: sp.Matrix, P: sp.Matrix, Q_xx: sp.Matrix) -> sp.Matrix:
Q_vv = P.inv() - A * Q_xx * A.T
return Q_vv #Kofaktormatrix der Beobachtungsresiduen
def berechne_R(self, Q_vv, P):
return Q_vv @ P #Redundanzmatrix
def berechne_R(self, Q_vv: sp.Matrix, P: sp.Matrix) -> sp.Matrix:
R = Q_vv * P
return R #Redundanzmatrix
def berechne_r(self, R: sp.Matrix) -> sp.Matrix:
n = R.rows
r = sp.zeros(n, 1)
for i in range(n):
r[i, 0] = R[i, i]
return r #Redundanzanteile
def berechne_r(self, R):
return np.diag(R).reshape(-1, 1) #Redundanzanteile

View File

@@ -920,7 +920,7 @@ Beobachtungsvektor;
43_R_4_10005_10002;1,91041843623067
44_R_4_10005_10004;2,60402436737829
45_R_4_10005_10006;4,73426436127053
46_R_4_10005_10008;0
46_R_4_10005_10008;0,0
47_R_4_10005_10003;1,77799779260774
48_R_4_10005_10001;1,81965052026554
49_R_4_10005_10002;1,91044561100712
@@ -951,7 +951,7 @@ Beobachtungsvektor;
74_R_6_10003_10016;1,71663416286260
75_R_6_10003_10001;3,41735969322650
76_R_6_10003_10002;3,72494690383380
77_R_6_10003_10004;0
77_R_6_10003_10004;0,0
78_R_6_10003_10006;0,129834327470865
79_R_6_10003_10005;0,200944120105237
80_R_6_10003_10007;1,54610655013033
@@ -1012,7 +1012,7 @@ Beobachtungsvektor;
135_R_10_10018_10043;2,85005285533666
136_R_10_10018_10027;2,92663208224112
137_R_10_10018_10009;6,02870569936361
138_R_10_10018_10010;0
138_R_10_10018_10010;0,0
139_R_10_10018_10026;2,65895126647530
140_R_10_10018_10043;2,85005269825703
141_R_10_10018_10027;2,92665226697392
@@ -1029,14 +1029,14 @@ Beobachtungsvektor;
152_R_11_10026_10027;3,58251086283122
153_R_11_10026_10021;4,77056279402901
154_R_11_10026_10020;4,80040431140656
155_R_11_10026_10018;0
155_R_11_10026_10018;0,0
156_R_11_10026_10010;0,239918011707325
157_R_11_10026_10043;3,39676938081560
158_R_11_10026_10044;3,47290116638637
159_R_11_10026_10027;3,58249971017730
160_R_11_10026_10021;4,77056263694937
161_R_11_10026_10020;4,80040376162784
162_R_11_10026_10018;0
162_R_11_10026_10018;0,0
163_R_11_10026_10010;0,239916755070264
164_R_11_10026_10043;3,39676938081560
165_R_11_10026_10044;3,47290116638637
@@ -1071,14 +1071,14 @@ Beobachtungsvektor;
194_R_13_10020_10023;1,55813343074626
195_R_13_10020_10019;3,28123558310388
196_R_13_10020_10026;6,17977530821715
197_R_13_10020_10021;0
197_R_13_10020_10021;0,0
198_R_13_10020_10022;1,08197864706327
199_R_13_10020_10024;1,21842288547728
200_R_13_10020_10025;1,44617107410295
201_R_13_10020_10023;1,55813429468424
202_R_13_10020_10019;3,28123660412149
203_R_13_10020_10026;6,17977436573935
204_R_13_10020_10021;0
204_R_13_10020_10021;0,0
205_R_13_10020_10022;1,08197864706327
206_R_13_10020_10024;1,21842288547728
207_R_13_10020_10025;1,44617107410295
@@ -1090,7 +1090,7 @@ Beobachtungsvektor;
213_R_14_10019_10017;3,14326005389069
214_R_14_10019_10026;6,13083597055861
215_R_14_10019_10021;6,24515192987817
216_R_14_10019_10020;0
216_R_14_10019_10020;0,0
217_R_14_10019_10033;1,58321818414719
218_R_14_10019_10017;3,14325997535087
219_R_14_10019_10026;6,13083534224008
@@ -1123,12 +1123,12 @@ Beobachtungsvektor;
246_R_16_10022_10025;2,62289630714748
247_R_16_10022_10023;3,22176374191491
248_R_16_10022_10020;5,29833276691323
249_R_16_10022_10021;0
249_R_16_10022_10021;0,0
250_R_16_10022_10024;2,36452615098930
251_R_16_10022_10025;2,62289685692620
252_R_16_10022_10023;3,22176468439271
253_R_16_10022_10020;5,29834470496532
254_R_16_10022_10021;0
254_R_16_10022_10021;0,0
255_R_16_10022_10024;2,36452615098930
256_R_16_10022_10025;2,62289685692620
257_R_16_10022_10023;3,22176468439271
@@ -1138,12 +1138,12 @@ Beobachtungsvektor;
261_R_17_10023_10025;2,37776168083887
262_R_17_10023_10020;5,69405665255865
263_R_17_10023_10021;6,23916688171381
264_R_17_10023_10022;0
264_R_17_10023_10022;0,0
265_R_17_10023_10024;1,85186048434463
266_R_17_10023_10025;2,37776152375924
267_R_17_10023_10020;5,69405657401883
268_R_17_10023_10021;6,23916609631565
269_R_17_10023_10022;0
269_R_17_10023_10022;0,0
270_R_17_10023_10024;1,85186048434463
271_R_17_10023_10025;2,37776152375924
272_R_17_10023_10020;5,69405657401883
@@ -1153,7 +1153,7 @@ Beobachtungsvektor;
276_R_18_10024_10022;0,432552305084552
277_R_18_10024_10021;0,696372967417082
278_R_18_10024_10025;4,11713571234576
279_R_18_10024_10023;0
279_R_18_10024_10023;0,0
280_R_18_10024_10020;0,360349316746547
281_R_18_10024_10022;0,432554111500328
282_R_18_10024_10021;0,696370925381857
@@ -1170,14 +1170,14 @@ Beobachtungsvektor;
293_R_19_10025_10023;5,83304990071197
294_R_19_10025_10033;4,44992815643227
295_R_19_10025_10027;1,52017231007587
296_R_19_10025_10024;0
296_R_19_10025_10024;0,0
297_R_19_10025_10021;6,11225674868491
298_R_19_10025_10022;5,99820279819266
299_R_19_10025_10020;5,89554497505130
300_R_19_10025_10023;5,83304935093326
301_R_19_10025_10033;4,44992854913135
302_R_19_10025_10027;1,52017348817311
303_R_19_10025_10024;0
303_R_19_10025_10024;0,0
304_R_19_10025_10021;6,11225674868491
305_R_19_10025_10022;5,99820279819266
306_R_19_10025_10020;5,89554497505130
@@ -1224,11 +1224,11 @@ Beobachtungsvektor;
347_R_22_10042_10044;2,12168622249468
348_R_22_10042_10040;3,39450099384008
349_R_22_10042_10041;4,44828800944764
350_R_22_10042_10043;0
350_R_22_10042_10043;0,0
351_R_22_10042_10044;2,12168543709652
352_R_22_10042_10040;3,39450099384008
353_R_22_10042_10041;4,44828769528838
354_R_22_10042_10043;0
354_R_22_10042_10043;0,0
355_R_22_10042_10044;2,12168559417615
356_R_22_10042_10040;3,39449950158357
357_R_22_10042_10041;4,44828785236801
@@ -1236,11 +1236,11 @@ Beobachtungsvektor;
359_R_23_10041_10044;0,377445235648852
360_R_23_10041_10040;1,28928190047808
361_R_23_10041_10038;2,57977574886210
362_R_23_10041_10042;0
362_R_23_10041_10042;0,0
363_R_23_10041_10044;0,377445078569219
364_R_23_10041_10040;1,28928292149570
365_R_23_10041_10038;2,57977347120743
366_R_23_10041_10042;0
366_R_23_10041_10042;0,0
367_R_23_10041_10044;0,377445078569219
368_R_23_10041_10040;1,28928292149570
369_R_23_10041_10038;2,57977653426027
@@ -1251,7 +1251,7 @@ Beobachtungsvektor;
374_R_24_10037_10038;4,59141952052391
375_R_24_10037_10039;4,72343851152608
376_R_24_10037_10040;6,15326490007001
377_R_24_10037_10044;0
377_R_24_10037_10044;0,0
378_R_24_10037_10051;0,649551848605225
379_R_24_10037_10036;2,73578614048195
380_R_24_10037_10035;3,16927950964588
@@ -1295,11 +1295,11 @@ Beobachtungsvektor;
418_R_26_10040_10041;1,91405616490408
419_R_26_10040_10042;2,71252036922744
420_R_26_10040_10044;3,36623152942638
421_R_27_10051_10037;0
421_R_27_10051_10037;0,0
422_R_27_10051_10052;2,38803186138272
423_R_27_10051_10053;3,46122653684673
424_R_27_10051_10050;4,16188330146644
425_R_27_10051_10037;0
425_R_27_10051_10037;0,0
426_R_27_10051_10052;2,38803139014382
427_R_27_10051_10053;3,46122614414765
428_R_27_10051_10050;4,16188298730717
@@ -1315,7 +1315,7 @@ Beobachtungsvektor;
438_R_28_10011_10013;1,48998498188697
439_R_28_10011_10017;1,58351176598067
440_R_28_10011_10028;3,14836616297038
441_R_28_10011_10001;0
441_R_28_10011_10001;0,0
442_R_28_10011_10013;1,48998513896661
443_R_28_10011_10017;1,58351192306030
444_R_28_10011_10028;3,14836671274910
@@ -1357,12 +1357,12 @@ Beobachtungsvektor;
480_R_31_10007_10017;1,73249143032141
481_R_31_10007_10015;2,11971220275080
482_R_31_10007_10003;4,47570429583644
483_R_31_10007_10008;0
483_R_31_10007_10008;0,0
484_R_31_10007_10016;1,65150627679992
485_R_31_10007_10017;1,73249174448067
486_R_31_10007_10015;2,11971353792768
487_R_31_10007_10003;4,47570374605772
488_R_31_10007_10008;0
488_R_31_10007_10008;0,0
489_R_31_10007_10016;1,65150627679992
490_R_31_10007_10017;1,73249174448067
491_R_31_10007_10015;2,11971353792768
@@ -1381,7 +1381,7 @@ Beobachtungsvektor;
504_R_32_10016_10012;4,38704478124095
505_R_32_10016_10015;4,54580673678644
506_R_32_10016_10003;6,13634962274529
507_R_32_10016_10007;0
507_R_32_10016_10007;0,0
508_R_32_10016_10031;3,25892642681239
509_R_32_10016_10017;3,27955899364447
510_R_32_10016_10014;3,87376611132976
@@ -1408,7 +1408,7 @@ Beobachtungsvektor;
531_R_34_10014_10012;2,63452373425750
532_R_34_10014_10015;3,84692717113087
533_R_34_10014_10016;4,43983382653720
534_R_34_10014_10017;0
534_R_34_10014_10017;0,0
535_R_34_10014_10012;2,63452404841677
536_R_34_10014_10015;3,84692732821051
537_R_34_10014_10016;4,43983382653720
@@ -1417,7 +1417,7 @@ Beobachtungsvektor;
540_R_35_10012_10014;0,946204824521524
541_R_35_10012_10017;1,23267102917893
542_R_35_10012_10013;1,97999591704825
543_R_35_10012_10015;0
543_R_35_10012_10015;0,0
544_R_35_10012_10016;0,123275231788884
545_R_35_10012_10014;0,946206081158586
546_R_35_10012_10017;1,23267220727617
@@ -1437,7 +1437,7 @@ Beobachtungsvektor;
560_R_36_10033_10039;3,26414147061735
561_R_36_10033_10032;3,73606005222642
562_R_36_10033_10031;4,54314282329583
563_R_36_10033_10019;0
563_R_36_10033_10019;0,0
564_R_36_10033_10025;1,41935985845923
565_R_36_10033_10039;3,26414147061735
566_R_36_10033_10032;3,73601025798286
@@ -1458,11 +1458,11 @@ Beobachtungsvektor;
581_R_38_10031_10033;1,48707594562957
582_R_38_10031_10032;2,17915647646423
583_R_38_10031_10030;4,08616534218796
584_R_38_10031_10017;0
584_R_38_10031_10017;0,0
585_R_38_10031_10033;1,48707602416938
586_R_38_10031_10032;2,17918090234711
587_R_38_10031_10030;4,08616502802870
588_R_38_10031_10017;0
588_R_38_10031_10017;0,0
589_R_38_10031_10033;1,48707602416938
590_R_38_10031_10032;2,17915631938460
591_R_38_10031_10030;4,08618387758462
@@ -1748,7 +1748,7 @@ Beobachtungsvektor;
871_R_59_10054_10045;7,06858347057703e-7
872_R_59_10054_10055;1,29838796386415
873_R_59_10054_10056;1,47238083183313
874_R_59_10054_10045;0
874_R_59_10054_10045;0,0
875_R_59_10054_10055;1,29836471607851
876_R_59_10054_10056;1,47235507077337
1_ZW_1_10009_10006;1,58259285012949
1 Beobachtungsvektor
920 43_R_4_10005_10002 1,91041843623067
921 44_R_4_10005_10004 2,60402436737829
922 45_R_4_10005_10006 4,73426436127053
923 46_R_4_10005_10008 0 0,0
924 47_R_4_10005_10003 1,77799779260774
925 48_R_4_10005_10001 1,81965052026554
926 49_R_4_10005_10002 1,91044561100712
951 74_R_6_10003_10016 1,71663416286260
952 75_R_6_10003_10001 3,41735969322650
953 76_R_6_10003_10002 3,72494690383380
954 77_R_6_10003_10004 0 0,0
955 78_R_6_10003_10006 0,129834327470865
956 79_R_6_10003_10005 0,200944120105237
957 80_R_6_10003_10007 1,54610655013033
1012 135_R_10_10018_10043 2,85005285533666
1013 136_R_10_10018_10027 2,92663208224112
1014 137_R_10_10018_10009 6,02870569936361
1015 138_R_10_10018_10010 0 0,0
1016 139_R_10_10018_10026 2,65895126647530
1017 140_R_10_10018_10043 2,85005269825703
1018 141_R_10_10018_10027 2,92665226697392
1029 152_R_11_10026_10027 3,58251086283122
1030 153_R_11_10026_10021 4,77056279402901
1031 154_R_11_10026_10020 4,80040431140656
1032 155_R_11_10026_10018 0 0,0
1033 156_R_11_10026_10010 0,239918011707325
1034 157_R_11_10026_10043 3,39676938081560
1035 158_R_11_10026_10044 3,47290116638637
1036 159_R_11_10026_10027 3,58249971017730
1037 160_R_11_10026_10021 4,77056263694937
1038 161_R_11_10026_10020 4,80040376162784
1039 162_R_11_10026_10018 0 0,0
1040 163_R_11_10026_10010 0,239916755070264
1041 164_R_11_10026_10043 3,39676938081560
1042 165_R_11_10026_10044 3,47290116638637
1071 194_R_13_10020_10023 1,55813343074626
1072 195_R_13_10020_10019 3,28123558310388
1073 196_R_13_10020_10026 6,17977530821715
1074 197_R_13_10020_10021 0 0,0
1075 198_R_13_10020_10022 1,08197864706327
1076 199_R_13_10020_10024 1,21842288547728
1077 200_R_13_10020_10025 1,44617107410295
1078 201_R_13_10020_10023 1,55813429468424
1079 202_R_13_10020_10019 3,28123660412149
1080 203_R_13_10020_10026 6,17977436573935
1081 204_R_13_10020_10021 0 0,0
1082 205_R_13_10020_10022 1,08197864706327
1083 206_R_13_10020_10024 1,21842288547728
1084 207_R_13_10020_10025 1,44617107410295
1090 213_R_14_10019_10017 3,14326005389069
1091 214_R_14_10019_10026 6,13083597055861
1092 215_R_14_10019_10021 6,24515192987817
1093 216_R_14_10019_10020 0 0,0
1094 217_R_14_10019_10033 1,58321818414719
1095 218_R_14_10019_10017 3,14325997535087
1096 219_R_14_10019_10026 6,13083534224008
1123 246_R_16_10022_10025 2,62289630714748
1124 247_R_16_10022_10023 3,22176374191491
1125 248_R_16_10022_10020 5,29833276691323
1126 249_R_16_10022_10021 0 0,0
1127 250_R_16_10022_10024 2,36452615098930
1128 251_R_16_10022_10025 2,62289685692620
1129 252_R_16_10022_10023 3,22176468439271
1130 253_R_16_10022_10020 5,29834470496532
1131 254_R_16_10022_10021 0 0,0
1132 255_R_16_10022_10024 2,36452615098930
1133 256_R_16_10022_10025 2,62289685692620
1134 257_R_16_10022_10023 3,22176468439271
1138 261_R_17_10023_10025 2,37776168083887
1139 262_R_17_10023_10020 5,69405665255865
1140 263_R_17_10023_10021 6,23916688171381
1141 264_R_17_10023_10022 0 0,0
1142 265_R_17_10023_10024 1,85186048434463
1143 266_R_17_10023_10025 2,37776152375924
1144 267_R_17_10023_10020 5,69405657401883
1145 268_R_17_10023_10021 6,23916609631565
1146 269_R_17_10023_10022 0 0,0
1147 270_R_17_10023_10024 1,85186048434463
1148 271_R_17_10023_10025 2,37776152375924
1149 272_R_17_10023_10020 5,69405657401883
1153 276_R_18_10024_10022 0,432552305084552
1154 277_R_18_10024_10021 0,696372967417082
1155 278_R_18_10024_10025 4,11713571234576
1156 279_R_18_10024_10023 0 0,0
1157 280_R_18_10024_10020 0,360349316746547
1158 281_R_18_10024_10022 0,432554111500328
1159 282_R_18_10024_10021 0,696370925381857
1170 293_R_19_10025_10023 5,83304990071197
1171 294_R_19_10025_10033 4,44992815643227
1172 295_R_19_10025_10027 1,52017231007587
1173 296_R_19_10025_10024 0 0,0
1174 297_R_19_10025_10021 6,11225674868491
1175 298_R_19_10025_10022 5,99820279819266
1176 299_R_19_10025_10020 5,89554497505130
1177 300_R_19_10025_10023 5,83304935093326
1178 301_R_19_10025_10033 4,44992854913135
1179 302_R_19_10025_10027 1,52017348817311
1180 303_R_19_10025_10024 0 0,0
1181 304_R_19_10025_10021 6,11225674868491
1182 305_R_19_10025_10022 5,99820279819266
1183 306_R_19_10025_10020 5,89554497505130
1224 347_R_22_10042_10044 2,12168622249468
1225 348_R_22_10042_10040 3,39450099384008
1226 349_R_22_10042_10041 4,44828800944764
1227 350_R_22_10042_10043 0 0,0
1228 351_R_22_10042_10044 2,12168543709652
1229 352_R_22_10042_10040 3,39450099384008
1230 353_R_22_10042_10041 4,44828769528838
1231 354_R_22_10042_10043 0 0,0
1232 355_R_22_10042_10044 2,12168559417615
1233 356_R_22_10042_10040 3,39449950158357
1234 357_R_22_10042_10041 4,44828785236801
1236 359_R_23_10041_10044 0,377445235648852
1237 360_R_23_10041_10040 1,28928190047808
1238 361_R_23_10041_10038 2,57977574886210
1239 362_R_23_10041_10042 0 0,0
1240 363_R_23_10041_10044 0,377445078569219
1241 364_R_23_10041_10040 1,28928292149570
1242 365_R_23_10041_10038 2,57977347120743
1243 366_R_23_10041_10042 0 0,0
1244 367_R_23_10041_10044 0,377445078569219
1245 368_R_23_10041_10040 1,28928292149570
1246 369_R_23_10041_10038 2,57977653426027
1251 374_R_24_10037_10038 4,59141952052391
1252 375_R_24_10037_10039 4,72343851152608
1253 376_R_24_10037_10040 6,15326490007001
1254 377_R_24_10037_10044 0 0,0
1255 378_R_24_10037_10051 0,649551848605225
1256 379_R_24_10037_10036 2,73578614048195
1257 380_R_24_10037_10035 3,16927950964588
1295 418_R_26_10040_10041 1,91405616490408
1296 419_R_26_10040_10042 2,71252036922744
1297 420_R_26_10040_10044 3,36623152942638
1298 421_R_27_10051_10037 0 0,0
1299 422_R_27_10051_10052 2,38803186138272
1300 423_R_27_10051_10053 3,46122653684673
1301 424_R_27_10051_10050 4,16188330146644
1302 425_R_27_10051_10037 0 0,0
1303 426_R_27_10051_10052 2,38803139014382
1304 427_R_27_10051_10053 3,46122614414765
1305 428_R_27_10051_10050 4,16188298730717
1315 438_R_28_10011_10013 1,48998498188697
1316 439_R_28_10011_10017 1,58351176598067
1317 440_R_28_10011_10028 3,14836616297038
1318 441_R_28_10011_10001 0 0,0
1319 442_R_28_10011_10013 1,48998513896661
1320 443_R_28_10011_10017 1,58351192306030
1321 444_R_28_10011_10028 3,14836671274910
1357 480_R_31_10007_10017 1,73249143032141
1358 481_R_31_10007_10015 2,11971220275080
1359 482_R_31_10007_10003 4,47570429583644
1360 483_R_31_10007_10008 0 0,0
1361 484_R_31_10007_10016 1,65150627679992
1362 485_R_31_10007_10017 1,73249174448067
1363 486_R_31_10007_10015 2,11971353792768
1364 487_R_31_10007_10003 4,47570374605772
1365 488_R_31_10007_10008 0 0,0
1366 489_R_31_10007_10016 1,65150627679992
1367 490_R_31_10007_10017 1,73249174448067
1368 491_R_31_10007_10015 2,11971353792768
1381 504_R_32_10016_10012 4,38704478124095
1382 505_R_32_10016_10015 4,54580673678644
1383 506_R_32_10016_10003 6,13634962274529
1384 507_R_32_10016_10007 0 0,0
1385 508_R_32_10016_10031 3,25892642681239
1386 509_R_32_10016_10017 3,27955899364447
1387 510_R_32_10016_10014 3,87376611132976
1408 531_R_34_10014_10012 2,63452373425750
1409 532_R_34_10014_10015 3,84692717113087
1410 533_R_34_10014_10016 4,43983382653720
1411 534_R_34_10014_10017 0 0,0
1412 535_R_34_10014_10012 2,63452404841677
1413 536_R_34_10014_10015 3,84692732821051
1414 537_R_34_10014_10016 4,43983382653720
1417 540_R_35_10012_10014 0,946204824521524
1418 541_R_35_10012_10017 1,23267102917893
1419 542_R_35_10012_10013 1,97999591704825
1420 543_R_35_10012_10015 0 0,0
1421 544_R_35_10012_10016 0,123275231788884
1422 545_R_35_10012_10014 0,946206081158586
1423 546_R_35_10012_10017 1,23267220727617
1437 560_R_36_10033_10039 3,26414147061735
1438 561_R_36_10033_10032 3,73606005222642
1439 562_R_36_10033_10031 4,54314282329583
1440 563_R_36_10033_10019 0 0,0
1441 564_R_36_10033_10025 1,41935985845923
1442 565_R_36_10033_10039 3,26414147061735
1443 566_R_36_10033_10032 3,73601025798286
1458 581_R_38_10031_10033 1,48707594562957
1459 582_R_38_10031_10032 2,17915647646423
1460 583_R_38_10031_10030 4,08616534218796
1461 584_R_38_10031_10017 0 0,0
1462 585_R_38_10031_10033 1,48707602416938
1463 586_R_38_10031_10032 2,17918090234711
1464 587_R_38_10031_10030 4,08616502802870
1465 588_R_38_10031_10017 0 0,0
1466 589_R_38_10031_10033 1,48707602416938
1467 590_R_38_10031_10032 2,17915631938460
1468 591_R_38_10031_10030 4,08618387758462
1748 871_R_59_10054_10045 7,06858347057703e-7
1749 872_R_59_10054_10055 1,29838796386415
1750 873_R_59_10054_10056 1,47238083183313
1751 874_R_59_10054_10045 0 0,0
1752 875_R_59_10054_10055 1,29836471607851
1753 876_R_59_10054_10056 1,47235507077337
1754 1_ZW_1_10009_10006 1,58259285012949

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long