Jakobimatrix bereit für Iterationen
This commit is contained in:
111
Campusnetz.ipynb
111
Campusnetz.ipynb
@@ -6,8 +6,8 @@
|
||||
"metadata": {
|
||||
"collapsed": true,
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-12-18T15:37:11.703428Z",
|
||||
"start_time": "2025-12-18T15:37:10.179920Z"
|
||||
"end_time": "2025-12-19T07:52:11.306905Z",
|
||||
"start_time": "2025-12-19T07:52:08.471096Z"
|
||||
}
|
||||
},
|
||||
"source": [
|
||||
@@ -31,8 +31,8 @@
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-12-18T15:37:11.718425Z",
|
||||
"start_time": "2025-12-18T15:37:11.710116Z"
|
||||
"end_time": "2025-12-19T07:52:11.327644Z",
|
||||
"start_time": "2025-12-19T07:52:11.322749Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -54,8 +54,8 @@
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-12-18T15:37:11.731344Z",
|
||||
"start_time": "2025-12-18T15:37:11.723304Z"
|
||||
"end_time": "2025-12-19T07:52:11.340904Z",
|
||||
"start_time": "2025-12-19T07:52:11.333973Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -79,8 +79,8 @@
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-12-18T15:37:11.752920Z",
|
||||
"start_time": "2025-12-18T15:37:11.738465Z"
|
||||
"end_time": "2025-12-19T07:52:11.366416Z",
|
||||
"start_time": "2025-12-19T07:52:11.352365Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -282,8 +282,8 @@
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-12-18T15:37:11.776953Z",
|
||||
"start_time": "2025-12-18T15:37:11.760774Z"
|
||||
"end_time": "2025-12-19T07:52:11.445835Z",
|
||||
"start_time": "2025-12-19T07:52:11.432316Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -485,8 +485,8 @@
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-12-18T15:37:11.794891Z",
|
||||
"start_time": "2025-12-18T15:37:11.786182Z"
|
||||
"end_time": "2025-12-19T07:52:11.480364Z",
|
||||
"start_time": "2025-12-19T07:52:11.473215Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -546,8 +546,8 @@
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-12-18T15:37:34.196063Z",
|
||||
"start_time": "2025-12-18T15:37:11.802736Z"
|
||||
"end_time": "2025-12-19T07:52:33.495988Z",
|
||||
"start_time": "2025-12-19T07:52:11.509750Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -823,8 +823,8 @@
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-12-18T15:37:34.376494Z",
|
||||
"start_time": "2025-12-18T15:37:34.358826Z"
|
||||
"end_time": "2025-12-19T07:52:33.742107Z",
|
||||
"start_time": "2025-12-19T07:52:33.724755Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -850,8 +850,8 @@
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-12-18T15:37:34.385926Z",
|
||||
"start_time": "2025-12-18T15:37:34.381268Z"
|
||||
"end_time": "2025-12-19T07:52:33.834385Z",
|
||||
"start_time": "2025-12-19T07:52:33.750237Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -868,8 +868,8 @@
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-12-18T15:37:34.431123Z",
|
||||
"start_time": "2025-12-18T15:37:34.394972Z"
|
||||
"end_time": "2025-12-19T07:52:33.850045Z",
|
||||
"start_time": "2025-12-19T07:52:33.840425Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -908,8 +908,8 @@
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-12-18T15:37:34.447523Z",
|
||||
"start_time": "2025-12-18T15:37:34.440045Z"
|
||||
"end_time": "2025-12-19T07:52:33.879030Z",
|
||||
"start_time": "2025-12-19T07:52:33.861893Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -942,8 +942,8 @@
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-12-18T15:37:34.465403Z",
|
||||
"start_time": "2025-12-18T15:37:34.457506Z"
|
||||
"end_time": "2025-12-19T07:52:33.931565Z",
|
||||
"start_time": "2025-12-19T07:52:33.926118Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -971,8 +971,8 @@
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-12-18T15:38:21.175538Z",
|
||||
"start_time": "2025-12-18T15:37:34.489160Z"
|
||||
"end_time": "2025-12-19T07:53:20.604251Z",
|
||||
"start_time": "2025-12-19T07:52:34.017830Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -1001,8 +1001,8 @@
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-12-18T15:38:29.635639Z",
|
||||
"start_time": "2025-12-18T15:38:28.432489Z"
|
||||
"end_time": "2025-12-19T07:53:28.548961Z",
|
||||
"start_time": "2025-12-19T07:53:27.392395Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -1021,8 +1021,8 @@
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-12-18T15:38:29.713209Z",
|
||||
"start_time": "2025-12-18T15:38:29.641738Z"
|
||||
"end_time": "2025-12-19T07:53:28.624649Z",
|
||||
"start_time": "2025-12-19T07:53:28.556123Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -1039,8 +1039,8 @@
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-12-18T15:38:30.266023Z",
|
||||
"start_time": "2025-12-18T15:38:29.719876Z"
|
||||
"end_time": "2025-12-19T07:53:29.155871Z",
|
||||
"start_time": "2025-12-19T07:53:28.631170Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -1057,8 +1057,8 @@
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-12-18T15:38:30.471696Z",
|
||||
"start_time": "2025-12-18T15:38:30.270922Z"
|
||||
"end_time": "2025-12-19T07:53:29.357857Z",
|
||||
"start_time": "2025-12-19T07:53:29.163721Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -1075,8 +1075,8 @@
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-12-18T15:38:30.564007Z",
|
||||
"start_time": "2025-12-18T15:38:30.561425Z"
|
||||
"end_time": "2025-12-19T07:53:29.365169Z",
|
||||
"start_time": "2025-12-19T07:53:29.363445Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -1088,8 +1088,8 @@
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-12-18T15:58:59.752512Z",
|
||||
"start_time": "2025-12-18T15:57:03.976622Z"
|
||||
"end_time": "2025-12-19T07:56:16.667001Z",
|
||||
"start_time": "2025-12-19T07:54:29.312273Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -1106,38 +1106,17 @@
|
||||
"\n",
|
||||
"stoch_modell = Stochastisches_Modell.StochastischesModell(A_matrix_numerisch_iteration0.rows)\n",
|
||||
"\n",
|
||||
"dx = Parameterschaetzung.ausgleichung(A_matrix_numerisch_iteration0, fm.berechnung_dl(beobachtungsvektor_numerisch, beobachtungsvektor_naeherung_numerisch_iteration0), stoch_modell)[1]"
|
||||
"dx = Parameterschaetzung.ausgleichung_global(A_matrix_numerisch_iteration0, fm.berechnung_dl(beobachtungsvektor_numerisch, beobachtungsvektor_naeherung_numerisch_iteration0), stoch_modell)[1]"
|
||||
],
|
||||
"id": "f53849ee4757d5e8",
|
||||
"outputs": [],
|
||||
"execution_count": 24
|
||||
"execution_count": 19
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-12-18T15:58:59.778163Z",
|
||||
"start_time": "2025-12-18T15:58:59.772917Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
"source": "print(dx)",
|
||||
"id": "ddab453ba8432a2e",
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Matrix([[-15.836878584224005], [-11.247992969377836], [-15.035970699461896], [-17.172225915627391], [-12.173321760599258], [-15.454280247622307], [5.8499866304036029], [-0.84408137153644882], [8.8428344118956920], [0.72246492846590215], [-2.6805161681178439], [2.6561177036687012], [-1.7530336151646340], [-4.0828424915123159], [-1.1116425422727685], [-12.406627111323089], [-9.3797102733249321], [-11.307162824737238], [-5.1944178730145476], [-5.3432586001388116], [-5.4878123818429649], [-10.042692171849579], [-8.5240394027296233], [-9.4596665841413192], [27.422586000355638], [9.2825737332351858], [27.778859287348245], [2.4602163319908927], [-5.7491987498622639], [3.9333738087535138], [4.7375692229725473], [0.33076782754328830], [-2.4779604262283192], [17.142633017180586], [5.4164801506396094], [16.741629291078787], [1.6928425251527212], [-1.5195571148866928], [-2.4272405037900690], [9.0602539400968511], [1.6821170572252666], [11.568078083970901], [2.3549123392381141], [-0.26458175694122837], [4.3686826655259176], [9.8185006307524331], [4.1080618791581898], [12.544260568232283], [3.2763322333276562], [5.3055059893555683], [3.9223714342847534], [0.60520357541114602], [-1.5495926362313008], [1.9227428332430944], [3.2878782838233516], [-0.44754426128892091], [4.4635107837475506], [-0.90144118724306758], [-1.7265745960106901], [0.24517522670635369], [-0.38866073768744302], [-1.2079814068684954], [0.66726417048861476], [1.5739738824820702], [-1.0327182535932885], [2.6923009104152141], [2.4671966070744344], [-0.51755283555471828], [3.5615386178071496], [23.106270539437759], [5.7787644763976513], [24.366936943444542], [21.571347206867959], [5.7368806620570824], [21.972597048171281], [0.35395481642685145], [-1.1997143246058162], [-1.1861715359381562], [12.275315527434830], [6.6623984692942630], [15.177595945825646], [-6.0381755939842792], [-3.0369373286189943], [-4.9820599951832047], [-0.39369680418824364], [2.0715080420095952], [2.4045997827095693], [-1.1701185532957933], [-2.5028664051832912], [6.2909239418975121], [-13.502290467846696], [-4.1667425016344247], [-12.347189404692619], [-22.409211457493528], [-9.9757595893449019], [-23.842016750733605], [4.8861559972755568], [-0.86606026286854386], [3.0030479492724135], [6.2671811557631598], [4.3204335828518802], [8.1407423384124597], [2.6812499333327412], [1.0785321977509672], [3.9217187575981670], [0.77726754791754994], [0.53805074636246901], [0.35786438371770457], [1.0574487863849902], [-2.6386853939193140], [-0.49660028724612645], [-0.35915950676406471], [3.8022114113862679], [4.1755598846602404], [-2.4220222066006638], [1.0322651998506441], [-0.66010077807801857], [4.0064239355518560], [-0.13328542687360145], [1.7248688371943423], [4.5977602541989611], [1.0179996191308970], [-0.79411582105523724], [-6.4782494374778967], [-5.2273168102958061], [-8.8885332080582243], [-0.16148819963348198], [-2.0382745275721952], [-1.8696260745012774], [6.1765877572858512], [2.4166000136248174], [4.9271932554524929], [9.5912530083867848], [1.9352159494553939], [8.3904972213104597], [-36.854600050939177], [-18.392682775944993], [-36.867526230250396], [-1.3101242864302213], [-2.9656640484549343], [-5.3064133446332462], [-1.2360520826333704], [-2.4623194898522547], [-4.6701149211832324], [3.8592688425947312], [3.0452754270630287], [1.9011868453853438], [16.071155838781023], [9.5621002159194649], [14.405999945022790], [-3.6564602955199492], [0.86740846288392710], [-2.4808225672809876], [-1.3479918087679470], [2.0593028028808695], [-1.9647375310521838], [0.012476625544841331], [2.6098452389005484], [-1.2494318782543187], [-2.3552690992546623], [1.0300039170278315], [-2.2257979097615787], [-0.85095768360329300], [3.3887736130285480], [0.74381283036782511], [1.3635621499509423], [5.4669454688129320], [2.9680237851035994], [2.3784279926809026], [5.6821112134717671], [1.3357302229758119], [4.1241396205744366], [6.0819089981186366], [7.7461583359207565], [5.2432144944109490], [6.7339752553106913], [6.5789767741021837]])\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"execution_count": 25
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2025-12-18T16:08:56.402308Z",
|
||||
"start_time": "2025-12-18T16:08:56.346777Z"
|
||||
"end_time": "2025-12-19T07:56:16.809753Z",
|
||||
"start_time": "2025-12-19T07:56:16.734964Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
@@ -1154,7 +1133,9 @@
|
||||
"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)"
|
||||
"print(unbekanntenvektor_numerisch)\n",
|
||||
"\n",
|
||||
"print(fm.unbekanntenvektor_numerisch_to_dict_unbekanntenvektor(Jacobimatrix_symbolisch_liste_unbekannte, unbekanntenvektor_numerisch))"
|
||||
],
|
||||
"id": "122dca077d1d267c",
|
||||
"outputs": [
|
||||
@@ -1168,7 +1149,7 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
"execution_count": 34
|
||||
"execution_count": 21
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
|
||||
@@ -8,7 +8,7 @@ class FunktionalesModell:
|
||||
def __init__(self, pfad_datenbank, a, b):
|
||||
self.pfad_datenbank = pfad_datenbank
|
||||
self.berechnungen = Berechnungen(a, b)
|
||||
self.substitutionen_dict = self.dict_substitutionen_naeherungen_us()
|
||||
self.substitutionen_dict = self.dict_substitutionen_uebergeordnetes_system()
|
||||
self.dict_punkt_symbole = {}
|
||||
|
||||
def jacobi_matrix_symbolisch(self):
|
||||
@@ -249,19 +249,47 @@ class FunktionalesModell:
|
||||
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)
|
||||
|
||||
Export.matrix_to_csv(r"Zwischenergebnisse\Unbekanntenvektor_Numerisch_Iteration0.csv", [""],
|
||||
liste_unbekanntenvektor_symbolisch, unbekanntenvektor_numerisch,
|
||||
"Unbekanntenvektor")
|
||||
return unbekanntenvektor_numerisch
|
||||
|
||||
def unbekanntenvektor_numerisch_to_dict_unbekanntenvektor(self, liste_unbekanntenvektor_symbolisch, unbekanntenvektor_numerisch):
|
||||
dict_unbekanntenvektor_numerisch = {}
|
||||
index = 0
|
||||
|
||||
for symbol in liste_unbekanntenvektor_symbolisch:
|
||||
name = str(symbol)
|
||||
if not name.startswith("X"):
|
||||
continue
|
||||
|
||||
punktnummer = str(name[1:])
|
||||
|
||||
dict_unbekanntenvektor_numerisch[punktnummer] = sp.Matrix([
|
||||
unbekanntenvektor_numerisch[index],
|
||||
unbekanntenvektor_numerisch[index + 1],
|
||||
unbekanntenvektor_numerisch[index + 2]
|
||||
])
|
||||
index += 3
|
||||
return dict_unbekanntenvektor_numerisch
|
||||
|
||||
|
||||
|
||||
def berechnung_dl(self, beobachtungsvektor_numerisch, beobachtungsvektor_naeherung_numerisch):
|
||||
dl = beobachtungsvektor_numerisch - beobachtungsvektor_naeherung_numerisch
|
||||
return dl
|
||||
|
||||
def dict_substitutionen_naeherungen_us(self):
|
||||
def dict_substitutionen_uebergeordnetes_system(self, unbekanntenvektor_aus_iteration = None):
|
||||
db_zugriff = Datenbankzugriff(self.pfad_datenbank)
|
||||
dict_koordinaten_B_L = self.berechnungen.geometrische_breite_laenge(db_zugriff.get_koordinaten("naeherung_us"))
|
||||
if unbekanntenvektor_aus_iteration is None:
|
||||
dict_koordinaten_B_L = self.berechnungen.geometrische_breite_laenge(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)
|
||||
liste_beobachtungen = db_zugriff.get_beobachtungen_from_beobachtungenid()
|
||||
substitutionen = {}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user