Numerische MAtrizen auf numpy umgestellt
This commit is contained in:
12
.idea/dataSources.xml
generated
Normal file
12
.idea/dataSources.xml
generated
Normal 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>
|
||||||
1141
Campusnetz.ipynb
1141
Campusnetz.ipynb
File diff suppressed because it is too large
Load Diff
@@ -19,6 +19,10 @@ class Export:
|
|||||||
for eintrag in zeile:
|
for eintrag in zeile:
|
||||||
try:
|
try:
|
||||||
eintrag_text = str(eintrag).replace(".", ",")
|
eintrag_text = str(eintrag).replace(".", ",")
|
||||||
|
try:
|
||||||
|
eintrag_text = float(eintrag_text)
|
||||||
|
except:
|
||||||
|
eintrag_text = eintrag_text
|
||||||
except Exception:
|
except Exception:
|
||||||
eintrag_text = str(eintrag)
|
eintrag_text = str(eintrag)
|
||||||
zeile_als_text.append(eintrag_text)
|
zeile_als_text.append(eintrag_text)
|
||||||
@@ -45,6 +49,10 @@ class Export:
|
|||||||
try:
|
try:
|
||||||
eintrag_float = float(eintrag)
|
eintrag_float = float(eintrag)
|
||||||
eintrag_text = f"{eintrag_float}".replace(".", ",")
|
eintrag_text = f"{eintrag_float}".replace(".", ",")
|
||||||
|
try:
|
||||||
|
eintrag_text = float(eintrag_text)
|
||||||
|
except:
|
||||||
|
eintrag_text = eintrag_text
|
||||||
except Exception:
|
except Exception:
|
||||||
eintrag_text = str(eintrag)
|
eintrag_text = str(eintrag)
|
||||||
zeile_als_text.append(eintrag_text)
|
zeile_als_text.append(eintrag_text)
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ from Datenbank import *
|
|||||||
import sympy as sp
|
import sympy as sp
|
||||||
from Export import Export
|
from Export import Export
|
||||||
from Berechnungen import Berechnungen
|
from Berechnungen import Berechnungen
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class FunktionalesModell:
|
class FunktionalesModell:
|
||||||
@@ -10,6 +12,11 @@ class FunktionalesModell:
|
|||||||
self.berechnungen = Berechnungen(a, b)
|
self.berechnungen = Berechnungen(a, b)
|
||||||
self.substitutionen_dict = self.dict_substitutionen_uebergeordnetes_system()
|
self.substitutionen_dict = self.dict_substitutionen_uebergeordnetes_system()
|
||||||
self.dict_punkt_symbole = {}
|
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):
|
def jacobi_matrix_symbolisch(self):
|
||||||
liste_beobachtungsarten = ["tachymeter_distanz", "tachymeter_richtung", "tachymeter_zenitwinkel"]
|
liste_beobachtungsarten = ["tachymeter_distanz", "tachymeter_richtung", "tachymeter_zenitwinkel"]
|
||||||
@@ -417,9 +424,22 @@ class FunktionalesModell:
|
|||||||
return A_gesamt, liste_unbekannte, liste_zeilenbeschriftungen_gesamt
|
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):
|
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":
|
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,
|
Export.matrix_to_csv(r"Zwischenergebnisse\Jacobi_Matrix_Numerisch_Iteration0.csv", liste_unbekannte,
|
||||||
liste_zeilenbeschriftungen_gesamt, A_numerisch, "Beobachtung")
|
liste_zeilenbeschriftungen_gesamt, A_numerisch, "Beobachtung")
|
||||||
@@ -581,7 +601,21 @@ class FunktionalesModell:
|
|||||||
return beobachtungsvektor_naeherung_symbolisch
|
return beobachtungsvektor_naeherung_symbolisch
|
||||||
|
|
||||||
def beobachtungsvektor_naeherung_numerisch_iteration0(self, liste_beobachtungsvektor_symbolisch, 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", [""],
|
Export.matrix_to_csv(r"Zwischenergebnisse\Beobachtungsvektor_Näherung_Numerisch_Iteration0.csv", [""],
|
||||||
liste_beobachtungsvektor_symbolisch, beobachtungsvektor_naeherung_numerisch_iteration0,
|
liste_beobachtungsvektor_symbolisch, beobachtungsvektor_naeherung_numerisch_iteration0,
|
||||||
"Beobachtungsvektor")
|
"Beobachtungsvektor")
|
||||||
@@ -599,8 +633,25 @@ class FunktionalesModell:
|
|||||||
self.liste_unbekanntenvektor_symbolisch = 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)
|
||||||
|
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:
|
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
|
unbekanntenvektor_numerisch = unbekanntenvektor_neumerisch_vorherige_Iteration + dX_Vektor
|
||||||
|
|
||||||
self.substitutionen_dict = self.dict_substitutionen_uebergeordnetes_system(unbekanntenvektor_numerisch)
|
self.substitutionen_dict = self.dict_substitutionen_uebergeordnetes_system(unbekanntenvektor_numerisch)
|
||||||
@@ -622,20 +673,24 @@ class FunktionalesModell:
|
|||||||
punktnummer = str(name[1:])
|
punktnummer = str(name[1:])
|
||||||
|
|
||||||
dict_unbekanntenvektor_numerisch[punktnummer] = sp.Matrix([
|
dict_unbekanntenvektor_numerisch[punktnummer] = sp.Matrix([
|
||||||
unbekanntenvektor_numerisch[index],
|
float(unbekanntenvektor_numerisch[index]),
|
||||||
unbekanntenvektor_numerisch[index + 1],
|
float(unbekanntenvektor_numerisch[index + 1]),
|
||||||
unbekanntenvektor_numerisch[index + 2]
|
float(unbekanntenvektor_numerisch[index + 2])
|
||||||
])
|
])
|
||||||
index += 3
|
index += 3
|
||||||
return dict_unbekanntenvektor_numerisch
|
return dict_unbekanntenvektor_numerisch
|
||||||
|
|
||||||
|
def berechnung_dl(self, beobachtungsvektor_numerisch, beobachtungsvektor_naeherung_numerisch,
|
||||||
|
liste_beobachtungsvektor_symbolisch=None):
|
||||||
def berechnung_dl(self, beobachtungsvektor_numerisch, beobachtungsvektor_naeherung_numerisch):
|
|
||||||
dl = beobachtungsvektor_numerisch - beobachtungsvektor_naeherung_numerisch
|
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):
|
for i, name in enumerate(liste_beobachtungsvektor_symbolisch):
|
||||||
if "_R_" in name:
|
if "_R_" in str(name):
|
||||||
dl[i] = sp.atan2(sp.sin(dl[i]), sp.cos(dl[i])) # wrap auf (-pi, pi]
|
dl[i] = np.arctan2(np.sin(dl[i]), np.cos(dl[i]))
|
||||||
|
|
||||||
return dl
|
return dl
|
||||||
|
|
||||||
@@ -657,20 +712,24 @@ class FunktionalesModell:
|
|||||||
X_sym, Y_sym, Z_sym, B_sym, L_Sym = sp.symbols(
|
X_sym, Y_sym, Z_sym, B_sym, L_Sym = sp.symbols(
|
||||||
f"X{punktnummer} Y{punktnummer} Z{punktnummer} B{punktnummer} L{punktnummer}")
|
f"X{punktnummer} Y{punktnummer} Z{punktnummer} B{punktnummer} L{punktnummer}")
|
||||||
|
|
||||||
substitutionen[X_sym] = vektor[0][0]
|
substitutionen[X_sym] = float(vektor[0][0])
|
||||||
substitutionen[Y_sym] = vektor[0][1]
|
substitutionen[Y_sym] = float(vektor[0][1])
|
||||||
substitutionen[Z_sym] = vektor[0][2]
|
substitutionen[Z_sym] = float(vektor[0][2])
|
||||||
substitutionen[B_sym] = vektor[1]
|
substitutionen[B_sym] = float(vektor[1])
|
||||||
substitutionen[L_Sym] = vektor[2]
|
substitutionen[L_Sym] = float(vektor[2])
|
||||||
|
|
||||||
for standpunkt, zielpunkt, beobachtungenID, beobachtungsgruppeID, tachymeter_richtung, tachymeter_zenitwinkel, tachymeter_distanz in liste_beobachtungen:
|
for standpunkt, zielpunkt, beobachtungenID, beobachtungsgruppeID, tachymeter_richtung, tachymeter_zenitwinkel, tachymeter_distanz in liste_beobachtungen:
|
||||||
alpha = sp.symbols(f"{beobachtungenID}_R_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}")
|
alpha = sp.symbols(f"{beobachtungenID}_R_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}")
|
||||||
zw = sp.symbols(f"{beobachtungenID}_ZW_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}")
|
zw = sp.symbols(f"{beobachtungenID}_ZW_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}")
|
||||||
s = sp.symbols(f"{beobachtungenID}_SD_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}")
|
s = sp.symbols(f"{beobachtungenID}_SD_{beobachtungsgruppeID}_{standpunkt}_{zielpunkt}")
|
||||||
|
|
||||||
substitutionen[alpha] = tachymeter_richtung
|
if tachymeter_richtung is None and tachymeter_zenitwinkel is None and tachymeter_distanz is None:
|
||||||
substitutionen[zw] = tachymeter_zenitwinkel
|
continue
|
||||||
substitutionen[s] = tachymeter_distanz
|
|
||||||
|
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:
|
if unbekanntenvektor_aus_iteration is not None:
|
||||||
dict_O = self.unbekanntenvektor_numerisch_to_dict_orientierungen(
|
dict_O = self.unbekanntenvektor_numerisch_to_dict_orientierungen(
|
||||||
@@ -678,7 +737,7 @@ class FunktionalesModell:
|
|||||||
unbekanntenvektor_aus_iteration
|
unbekanntenvektor_aus_iteration
|
||||||
)
|
)
|
||||||
for orientierungs_id, wert in dict_O.items():
|
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:
|
else:
|
||||||
for standpunkt, zielpunkt, beobachtungenID, beobachtungsgruppeID, *_ in liste_beobachtungen:
|
for standpunkt, zielpunkt, beobachtungenID, beobachtungsgruppeID, *_ in liste_beobachtungen:
|
||||||
O_sym = sp.Symbol(f"O{beobachtungsgruppeID}")
|
O_sym = sp.Symbol(f"O{beobachtungsgruppeID}")
|
||||||
@@ -695,6 +754,6 @@ class FunktionalesModell:
|
|||||||
name = str(symbol)
|
name = str(symbol)
|
||||||
if name.startswith("O"):
|
if name.startswith("O"):
|
||||||
orientierungs_id = name[1:]
|
orientierungs_id = name[1:]
|
||||||
dict_O[orientierungs_id] = unbekanntenvektor_numerisch[i]
|
dict_O[orientierungs_id] = float(unbekanntenvektor_numerisch[i])
|
||||||
|
|
||||||
return dict_O
|
return dict_O
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import sympy as sp
|
import sympy as sp
|
||||||
|
import numpy as np
|
||||||
from dataclasses import dataclass, field
|
from dataclasses import dataclass, field
|
||||||
from typing import Dict, Tuple, Iterable
|
from typing import Dict, Tuple, Iterable
|
||||||
from Export import Export
|
from Export import Export
|
||||||
@@ -21,34 +22,54 @@ class StochastischesModell:
|
|||||||
self.gruppe_beob = [1] * int(self.n_beob)
|
self.gruppe_beob = [1] * int(self.n_beob)
|
||||||
|
|
||||||
# In SymPy-Spaltenvektoren umwandeln
|
# In SymPy-Spaltenvektoren umwandeln
|
||||||
self.sigma_beob = sp.Matrix(list(self.sigma_beob))
|
#self.sigma_beob = sp.Matrix(list(self.sigma_beob))
|
||||||
self.gruppe_beob = sp.Matrix(list(self.gruppe_beob))
|
#self.gruppe_beob = sp.Matrix(list(self.gruppe_beob))
|
||||||
|
|
||||||
# Dimension prüfen
|
# 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.")
|
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.")
|
raise ValueError("n_beob passt nicht zur Länge von sigma_beob / gruppe_beob.")
|
||||||
|
|
||||||
# Fehlende Gruppen mit sigma0_sq = 1.0 ergänzen
|
# 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:
|
for g in unique_groups:
|
||||||
if g not in self.sigma0_gruppe:
|
if g not in self.sigma0_gruppe:
|
||||||
self.sigma0_gruppe[g] = 1.0
|
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
|
#def berechne_Qll(self) -> Tuple[sp.Matrix, sp.Matrix]:
|
||||||
Q_ll = sp.zeros(n, n)
|
# n = self.n_beob
|
||||||
P = sp.zeros(n, n)
|
# Q_ll = sp.zeros(n, n)
|
||||||
for i in range(self.n_beob):
|
# P = sp.zeros(n, n)
|
||||||
sigma_i = self.sigma_beob[i, 0] #σ-Wert der i-ten Beobachtung holen
|
# for i in range(self.n_beob):
|
||||||
g = int(self.gruppe_beob[i, 0]) #Gruppenzugehörigkeit der Beobachtung bestimmen
|
# sigma_i = self.sigma_beob[i, 0] #σ-Wert der i-ten Beobachtung holen
|
||||||
sigma0_sq = self.sigma0_gruppe[g] #Den Varianzfaktor der Gruppe holen
|
# g = int(self.gruppe_beob[i, 0]) #Gruppenzugehörigkeit der Beobachtung bestimmen
|
||||||
q_ii = sigma_i**2 #σ² berechnen
|
# sigma0_sq = self.sigma0_gruppe[g] #Den Varianzfaktor der Gruppe holen
|
||||||
Q_ll[i, i] = q_ii #Diagonale
|
# q_ii = sigma_i**2 #σ² berechnen
|
||||||
return Q_ll
|
# Q_ll[i, i] = q_ii #Diagonale
|
||||||
|
# return Q_ll
|
||||||
|
|
||||||
def Qll_symbolisch(self, pfad_datenbank, liste_beobachtungen_symbolisch):
|
def Qll_symbolisch(self, pfad_datenbank, liste_beobachtungen_symbolisch):
|
||||||
liste_standardabweichungen_symbole = []
|
liste_standardabweichungen_symbole = []
|
||||||
@@ -155,7 +176,18 @@ class StochastischesModell:
|
|||||||
if distanz is not None:
|
if distanz is not None:
|
||||||
substitutionen[sp.Symbol(f"SD_{beobachtungenID}")] = float(distanz)
|
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(
|
Export.matrix_to_csv(
|
||||||
r"Zwischenergebnisse\Qll_Numerisch.csv",
|
r"Zwischenergebnisse\Qll_Numerisch.csv",
|
||||||
@@ -167,31 +199,22 @@ class StochastischesModell:
|
|||||||
|
|
||||||
return Qll_numerisch
|
return Qll_numerisch
|
||||||
|
|
||||||
def berechne_P(Q_ll: sp.Matrix) -> sp.Matrix:
|
@staticmethod
|
||||||
P = Q_ll.inv()
|
def berechne_P(Q_ll):
|
||||||
return P
|
return np.linalg.inv(Q_ll)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
def berechne_Q_xx(N: sp.Matrix) -> sp.Matrix:
|
def berechne_Q_xx(N):
|
||||||
if N.rows != N.cols:
|
if N.shape[0] != N.shape[1]:
|
||||||
raise ValueError("N muss eine quadratische Matrix sein")
|
raise ValueError("N muss eine quadratische Matrix sein")
|
||||||
Q_xx = N.inv()
|
return np.linalg.inv(N)
|
||||||
return Q_xx
|
|
||||||
|
|
||||||
|
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:
|
def berechne_R(self, Q_vv, P):
|
||||||
Q_vv = P.inv() - A * Q_xx * A.T
|
return Q_vv @ P #Redundanzmatrix
|
||||||
return Q_vv #Kofaktormatrix der Beobachtungsresiduen
|
|
||||||
|
|
||||||
|
def berechne_r(self, R):
|
||||||
def berechne_R(self, Q_vv: sp.Matrix, P: sp.Matrix) -> sp.Matrix:
|
return np.diag(R).reshape(-1, 1) #Redundanzanteile
|
||||||
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
|
|
||||||
@@ -920,7 +920,7 @@ Beobachtungsvektor;
|
|||||||
43_R_4_10005_10002;1,91041843623067
|
43_R_4_10005_10002;1,91041843623067
|
||||||
44_R_4_10005_10004;2,60402436737829
|
44_R_4_10005_10004;2,60402436737829
|
||||||
45_R_4_10005_10006;4,73426436127053
|
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
|
47_R_4_10005_10003;1,77799779260774
|
||||||
48_R_4_10005_10001;1,81965052026554
|
48_R_4_10005_10001;1,81965052026554
|
||||||
49_R_4_10005_10002;1,91044561100712
|
49_R_4_10005_10002;1,91044561100712
|
||||||
@@ -951,7 +951,7 @@ Beobachtungsvektor;
|
|||||||
74_R_6_10003_10016;1,71663416286260
|
74_R_6_10003_10016;1,71663416286260
|
||||||
75_R_6_10003_10001;3,41735969322650
|
75_R_6_10003_10001;3,41735969322650
|
||||||
76_R_6_10003_10002;3,72494690383380
|
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
|
78_R_6_10003_10006;0,129834327470865
|
||||||
79_R_6_10003_10005;0,200944120105237
|
79_R_6_10003_10005;0,200944120105237
|
||||||
80_R_6_10003_10007;1,54610655013033
|
80_R_6_10003_10007;1,54610655013033
|
||||||
@@ -1012,7 +1012,7 @@ Beobachtungsvektor;
|
|||||||
135_R_10_10018_10043;2,85005285533666
|
135_R_10_10018_10043;2,85005285533666
|
||||||
136_R_10_10018_10027;2,92663208224112
|
136_R_10_10018_10027;2,92663208224112
|
||||||
137_R_10_10018_10009;6,02870569936361
|
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
|
139_R_10_10018_10026;2,65895126647530
|
||||||
140_R_10_10018_10043;2,85005269825703
|
140_R_10_10018_10043;2,85005269825703
|
||||||
141_R_10_10018_10027;2,92665226697392
|
141_R_10_10018_10027;2,92665226697392
|
||||||
@@ -1029,14 +1029,14 @@ Beobachtungsvektor;
|
|||||||
152_R_11_10026_10027;3,58251086283122
|
152_R_11_10026_10027;3,58251086283122
|
||||||
153_R_11_10026_10021;4,77056279402901
|
153_R_11_10026_10021;4,77056279402901
|
||||||
154_R_11_10026_10020;4,80040431140656
|
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
|
156_R_11_10026_10010;0,239918011707325
|
||||||
157_R_11_10026_10043;3,39676938081560
|
157_R_11_10026_10043;3,39676938081560
|
||||||
158_R_11_10026_10044;3,47290116638637
|
158_R_11_10026_10044;3,47290116638637
|
||||||
159_R_11_10026_10027;3,58249971017730
|
159_R_11_10026_10027;3,58249971017730
|
||||||
160_R_11_10026_10021;4,77056263694937
|
160_R_11_10026_10021;4,77056263694937
|
||||||
161_R_11_10026_10020;4,80040376162784
|
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
|
163_R_11_10026_10010;0,239916755070264
|
||||||
164_R_11_10026_10043;3,39676938081560
|
164_R_11_10026_10043;3,39676938081560
|
||||||
165_R_11_10026_10044;3,47290116638637
|
165_R_11_10026_10044;3,47290116638637
|
||||||
@@ -1071,14 +1071,14 @@ Beobachtungsvektor;
|
|||||||
194_R_13_10020_10023;1,55813343074626
|
194_R_13_10020_10023;1,55813343074626
|
||||||
195_R_13_10020_10019;3,28123558310388
|
195_R_13_10020_10019;3,28123558310388
|
||||||
196_R_13_10020_10026;6,17977530821715
|
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
|
198_R_13_10020_10022;1,08197864706327
|
||||||
199_R_13_10020_10024;1,21842288547728
|
199_R_13_10020_10024;1,21842288547728
|
||||||
200_R_13_10020_10025;1,44617107410295
|
200_R_13_10020_10025;1,44617107410295
|
||||||
201_R_13_10020_10023;1,55813429468424
|
201_R_13_10020_10023;1,55813429468424
|
||||||
202_R_13_10020_10019;3,28123660412149
|
202_R_13_10020_10019;3,28123660412149
|
||||||
203_R_13_10020_10026;6,17977436573935
|
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
|
205_R_13_10020_10022;1,08197864706327
|
||||||
206_R_13_10020_10024;1,21842288547728
|
206_R_13_10020_10024;1,21842288547728
|
||||||
207_R_13_10020_10025;1,44617107410295
|
207_R_13_10020_10025;1,44617107410295
|
||||||
@@ -1090,7 +1090,7 @@ Beobachtungsvektor;
|
|||||||
213_R_14_10019_10017;3,14326005389069
|
213_R_14_10019_10017;3,14326005389069
|
||||||
214_R_14_10019_10026;6,13083597055861
|
214_R_14_10019_10026;6,13083597055861
|
||||||
215_R_14_10019_10021;6,24515192987817
|
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
|
217_R_14_10019_10033;1,58321818414719
|
||||||
218_R_14_10019_10017;3,14325997535087
|
218_R_14_10019_10017;3,14325997535087
|
||||||
219_R_14_10019_10026;6,13083534224008
|
219_R_14_10019_10026;6,13083534224008
|
||||||
@@ -1123,12 +1123,12 @@ Beobachtungsvektor;
|
|||||||
246_R_16_10022_10025;2,62289630714748
|
246_R_16_10022_10025;2,62289630714748
|
||||||
247_R_16_10022_10023;3,22176374191491
|
247_R_16_10022_10023;3,22176374191491
|
||||||
248_R_16_10022_10020;5,29833276691323
|
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
|
250_R_16_10022_10024;2,36452615098930
|
||||||
251_R_16_10022_10025;2,62289685692620
|
251_R_16_10022_10025;2,62289685692620
|
||||||
252_R_16_10022_10023;3,22176468439271
|
252_R_16_10022_10023;3,22176468439271
|
||||||
253_R_16_10022_10020;5,29834470496532
|
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
|
255_R_16_10022_10024;2,36452615098930
|
||||||
256_R_16_10022_10025;2,62289685692620
|
256_R_16_10022_10025;2,62289685692620
|
||||||
257_R_16_10022_10023;3,22176468439271
|
257_R_16_10022_10023;3,22176468439271
|
||||||
@@ -1138,12 +1138,12 @@ Beobachtungsvektor;
|
|||||||
261_R_17_10023_10025;2,37776168083887
|
261_R_17_10023_10025;2,37776168083887
|
||||||
262_R_17_10023_10020;5,69405665255865
|
262_R_17_10023_10020;5,69405665255865
|
||||||
263_R_17_10023_10021;6,23916688171381
|
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
|
265_R_17_10023_10024;1,85186048434463
|
||||||
266_R_17_10023_10025;2,37776152375924
|
266_R_17_10023_10025;2,37776152375924
|
||||||
267_R_17_10023_10020;5,69405657401883
|
267_R_17_10023_10020;5,69405657401883
|
||||||
268_R_17_10023_10021;6,23916609631565
|
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
|
270_R_17_10023_10024;1,85186048434463
|
||||||
271_R_17_10023_10025;2,37776152375924
|
271_R_17_10023_10025;2,37776152375924
|
||||||
272_R_17_10023_10020;5,69405657401883
|
272_R_17_10023_10020;5,69405657401883
|
||||||
@@ -1153,7 +1153,7 @@ Beobachtungsvektor;
|
|||||||
276_R_18_10024_10022;0,432552305084552
|
276_R_18_10024_10022;0,432552305084552
|
||||||
277_R_18_10024_10021;0,696372967417082
|
277_R_18_10024_10021;0,696372967417082
|
||||||
278_R_18_10024_10025;4,11713571234576
|
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
|
280_R_18_10024_10020;0,360349316746547
|
||||||
281_R_18_10024_10022;0,432554111500328
|
281_R_18_10024_10022;0,432554111500328
|
||||||
282_R_18_10024_10021;0,696370925381857
|
282_R_18_10024_10021;0,696370925381857
|
||||||
@@ -1170,14 +1170,14 @@ Beobachtungsvektor;
|
|||||||
293_R_19_10025_10023;5,83304990071197
|
293_R_19_10025_10023;5,83304990071197
|
||||||
294_R_19_10025_10033;4,44992815643227
|
294_R_19_10025_10033;4,44992815643227
|
||||||
295_R_19_10025_10027;1,52017231007587
|
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
|
297_R_19_10025_10021;6,11225674868491
|
||||||
298_R_19_10025_10022;5,99820279819266
|
298_R_19_10025_10022;5,99820279819266
|
||||||
299_R_19_10025_10020;5,89554497505130
|
299_R_19_10025_10020;5,89554497505130
|
||||||
300_R_19_10025_10023;5,83304935093326
|
300_R_19_10025_10023;5,83304935093326
|
||||||
301_R_19_10025_10033;4,44992854913135
|
301_R_19_10025_10033;4,44992854913135
|
||||||
302_R_19_10025_10027;1,52017348817311
|
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
|
304_R_19_10025_10021;6,11225674868491
|
||||||
305_R_19_10025_10022;5,99820279819266
|
305_R_19_10025_10022;5,99820279819266
|
||||||
306_R_19_10025_10020;5,89554497505130
|
306_R_19_10025_10020;5,89554497505130
|
||||||
@@ -1224,11 +1224,11 @@ Beobachtungsvektor;
|
|||||||
347_R_22_10042_10044;2,12168622249468
|
347_R_22_10042_10044;2,12168622249468
|
||||||
348_R_22_10042_10040;3,39450099384008
|
348_R_22_10042_10040;3,39450099384008
|
||||||
349_R_22_10042_10041;4,44828800944764
|
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
|
351_R_22_10042_10044;2,12168543709652
|
||||||
352_R_22_10042_10040;3,39450099384008
|
352_R_22_10042_10040;3,39450099384008
|
||||||
353_R_22_10042_10041;4,44828769528838
|
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
|
355_R_22_10042_10044;2,12168559417615
|
||||||
356_R_22_10042_10040;3,39449950158357
|
356_R_22_10042_10040;3,39449950158357
|
||||||
357_R_22_10042_10041;4,44828785236801
|
357_R_22_10042_10041;4,44828785236801
|
||||||
@@ -1236,11 +1236,11 @@ Beobachtungsvektor;
|
|||||||
359_R_23_10041_10044;0,377445235648852
|
359_R_23_10041_10044;0,377445235648852
|
||||||
360_R_23_10041_10040;1,28928190047808
|
360_R_23_10041_10040;1,28928190047808
|
||||||
361_R_23_10041_10038;2,57977574886210
|
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
|
363_R_23_10041_10044;0,377445078569219
|
||||||
364_R_23_10041_10040;1,28928292149570
|
364_R_23_10041_10040;1,28928292149570
|
||||||
365_R_23_10041_10038;2,57977347120743
|
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
|
367_R_23_10041_10044;0,377445078569219
|
||||||
368_R_23_10041_10040;1,28928292149570
|
368_R_23_10041_10040;1,28928292149570
|
||||||
369_R_23_10041_10038;2,57977653426027
|
369_R_23_10041_10038;2,57977653426027
|
||||||
@@ -1251,7 +1251,7 @@ Beobachtungsvektor;
|
|||||||
374_R_24_10037_10038;4,59141952052391
|
374_R_24_10037_10038;4,59141952052391
|
||||||
375_R_24_10037_10039;4,72343851152608
|
375_R_24_10037_10039;4,72343851152608
|
||||||
376_R_24_10037_10040;6,15326490007001
|
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
|
378_R_24_10037_10051;0,649551848605225
|
||||||
379_R_24_10037_10036;2,73578614048195
|
379_R_24_10037_10036;2,73578614048195
|
||||||
380_R_24_10037_10035;3,16927950964588
|
380_R_24_10037_10035;3,16927950964588
|
||||||
@@ -1295,11 +1295,11 @@ Beobachtungsvektor;
|
|||||||
418_R_26_10040_10041;1,91405616490408
|
418_R_26_10040_10041;1,91405616490408
|
||||||
419_R_26_10040_10042;2,71252036922744
|
419_R_26_10040_10042;2,71252036922744
|
||||||
420_R_26_10040_10044;3,36623152942638
|
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
|
422_R_27_10051_10052;2,38803186138272
|
||||||
423_R_27_10051_10053;3,46122653684673
|
423_R_27_10051_10053;3,46122653684673
|
||||||
424_R_27_10051_10050;4,16188330146644
|
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
|
426_R_27_10051_10052;2,38803139014382
|
||||||
427_R_27_10051_10053;3,46122614414765
|
427_R_27_10051_10053;3,46122614414765
|
||||||
428_R_27_10051_10050;4,16188298730717
|
428_R_27_10051_10050;4,16188298730717
|
||||||
@@ -1315,7 +1315,7 @@ Beobachtungsvektor;
|
|||||||
438_R_28_10011_10013;1,48998498188697
|
438_R_28_10011_10013;1,48998498188697
|
||||||
439_R_28_10011_10017;1,58351176598067
|
439_R_28_10011_10017;1,58351176598067
|
||||||
440_R_28_10011_10028;3,14836616297038
|
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
|
442_R_28_10011_10013;1,48998513896661
|
||||||
443_R_28_10011_10017;1,58351192306030
|
443_R_28_10011_10017;1,58351192306030
|
||||||
444_R_28_10011_10028;3,14836671274910
|
444_R_28_10011_10028;3,14836671274910
|
||||||
@@ -1357,12 +1357,12 @@ Beobachtungsvektor;
|
|||||||
480_R_31_10007_10017;1,73249143032141
|
480_R_31_10007_10017;1,73249143032141
|
||||||
481_R_31_10007_10015;2,11971220275080
|
481_R_31_10007_10015;2,11971220275080
|
||||||
482_R_31_10007_10003;4,47570429583644
|
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
|
484_R_31_10007_10016;1,65150627679992
|
||||||
485_R_31_10007_10017;1,73249174448067
|
485_R_31_10007_10017;1,73249174448067
|
||||||
486_R_31_10007_10015;2,11971353792768
|
486_R_31_10007_10015;2,11971353792768
|
||||||
487_R_31_10007_10003;4,47570374605772
|
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
|
489_R_31_10007_10016;1,65150627679992
|
||||||
490_R_31_10007_10017;1,73249174448067
|
490_R_31_10007_10017;1,73249174448067
|
||||||
491_R_31_10007_10015;2,11971353792768
|
491_R_31_10007_10015;2,11971353792768
|
||||||
@@ -1381,7 +1381,7 @@ Beobachtungsvektor;
|
|||||||
504_R_32_10016_10012;4,38704478124095
|
504_R_32_10016_10012;4,38704478124095
|
||||||
505_R_32_10016_10015;4,54580673678644
|
505_R_32_10016_10015;4,54580673678644
|
||||||
506_R_32_10016_10003;6,13634962274529
|
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
|
508_R_32_10016_10031;3,25892642681239
|
||||||
509_R_32_10016_10017;3,27955899364447
|
509_R_32_10016_10017;3,27955899364447
|
||||||
510_R_32_10016_10014;3,87376611132976
|
510_R_32_10016_10014;3,87376611132976
|
||||||
@@ -1408,7 +1408,7 @@ Beobachtungsvektor;
|
|||||||
531_R_34_10014_10012;2,63452373425750
|
531_R_34_10014_10012;2,63452373425750
|
||||||
532_R_34_10014_10015;3,84692717113087
|
532_R_34_10014_10015;3,84692717113087
|
||||||
533_R_34_10014_10016;4,43983382653720
|
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
|
535_R_34_10014_10012;2,63452404841677
|
||||||
536_R_34_10014_10015;3,84692732821051
|
536_R_34_10014_10015;3,84692732821051
|
||||||
537_R_34_10014_10016;4,43983382653720
|
537_R_34_10014_10016;4,43983382653720
|
||||||
@@ -1417,7 +1417,7 @@ Beobachtungsvektor;
|
|||||||
540_R_35_10012_10014;0,946204824521524
|
540_R_35_10012_10014;0,946204824521524
|
||||||
541_R_35_10012_10017;1,23267102917893
|
541_R_35_10012_10017;1,23267102917893
|
||||||
542_R_35_10012_10013;1,97999591704825
|
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
|
544_R_35_10012_10016;0,123275231788884
|
||||||
545_R_35_10012_10014;0,946206081158586
|
545_R_35_10012_10014;0,946206081158586
|
||||||
546_R_35_10012_10017;1,23267220727617
|
546_R_35_10012_10017;1,23267220727617
|
||||||
@@ -1437,7 +1437,7 @@ Beobachtungsvektor;
|
|||||||
560_R_36_10033_10039;3,26414147061735
|
560_R_36_10033_10039;3,26414147061735
|
||||||
561_R_36_10033_10032;3,73606005222642
|
561_R_36_10033_10032;3,73606005222642
|
||||||
562_R_36_10033_10031;4,54314282329583
|
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
|
564_R_36_10033_10025;1,41935985845923
|
||||||
565_R_36_10033_10039;3,26414147061735
|
565_R_36_10033_10039;3,26414147061735
|
||||||
566_R_36_10033_10032;3,73601025798286
|
566_R_36_10033_10032;3,73601025798286
|
||||||
@@ -1458,11 +1458,11 @@ Beobachtungsvektor;
|
|||||||
581_R_38_10031_10033;1,48707594562957
|
581_R_38_10031_10033;1,48707594562957
|
||||||
582_R_38_10031_10032;2,17915647646423
|
582_R_38_10031_10032;2,17915647646423
|
||||||
583_R_38_10031_10030;4,08616534218796
|
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
|
585_R_38_10031_10033;1,48707602416938
|
||||||
586_R_38_10031_10032;2,17918090234711
|
586_R_38_10031_10032;2,17918090234711
|
||||||
587_R_38_10031_10030;4,08616502802870
|
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
|
589_R_38_10031_10033;1,48707602416938
|
||||||
590_R_38_10031_10032;2,17915631938460
|
590_R_38_10031_10032;2,17915631938460
|
||||||
591_R_38_10031_10030;4,08618387758462
|
591_R_38_10031_10030;4,08618387758462
|
||||||
@@ -1748,7 +1748,7 @@ Beobachtungsvektor;
|
|||||||
871_R_59_10054_10045;7,06858347057703e-7
|
871_R_59_10054_10045;7,06858347057703e-7
|
||||||
872_R_59_10054_10055;1,29838796386415
|
872_R_59_10054_10055;1,29838796386415
|
||||||
873_R_59_10054_10056;1,47238083183313
|
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
|
875_R_59_10054_10055;1,29836471607851
|
||||||
876_R_59_10054_10056;1,47235507077337
|
876_R_59_10054_10056;1,47235507077337
|
||||||
1_ZW_1_10009_10006;1,58259285012949
|
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
2629
Zwischenergebnisse/Qll_Numerisch.csv
Normal file
2629
Zwischenergebnisse/Qll_Numerisch.csv
Normal file
File diff suppressed because one or more lines are too long
2629
Zwischenergebnisse/Qll_Symbolisch.csv
Normal file
2629
Zwischenergebnisse/Qll_Symbolisch.csv
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user