534 lines
18 KiB
Plaintext
534 lines
18 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": [
|
|
"# Hier werden alle verwendeten Pythonmodule importiert\n",
|
|
"import Datenbank\n",
|
|
"import Import\n",
|
|
"import importlib\n",
|
|
"import Koordinatentransformationen\n",
|
|
"import sqlite3\n",
|
|
"import Funktionales_Modell\n",
|
|
"import Berechnungen\n",
|
|
"import Parameterschaetzung\n",
|
|
"import Stochastisches_Modell\n",
|
|
"from Stochastisches_Modell import StochastischesModell\n",
|
|
"import Export\n",
|
|
"import Netzqualität_Genauigkeit\n",
|
|
"import Datumsfestlegung"
|
|
],
|
|
"id": "2bc687b1b4adb7bd"
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": [
|
|
"importlib.reload(Datenbank)\n",
|
|
"importlib.reload(Import)\n",
|
|
"# Anlegen der Datenbank, wenn nicht vorhanden\n",
|
|
"pfad_datenbank = r\"Campusnetz.db\"\n",
|
|
"Datenbank.Datenbank_anlegen(pfad_datenbank)\n",
|
|
"\n",
|
|
"# Import vervollständigen\n",
|
|
"imp = Import.Import(pfad_datenbank)\n",
|
|
"db_zugriff = Datenbank.Datenbankzugriff(pfad_datenbank)"
|
|
],
|
|
"id": "57fcd841405b7866"
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": [
|
|
"# Import der Koordinatendatei(en) vom Tachymeter\n",
|
|
"pfad_datei = r\"Daten\\campsnetz_koordinaten_bereinigt.csv\"\n",
|
|
"imp.import_koordinaten_lh_tachymeter(pfad_datei)"
|
|
],
|
|
"id": "6ecde908841d1212"
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": [
|
|
"importlib.reload(Datenbank)\n",
|
|
"db_zugriff = Datenbank.Datenbankzugriff(pfad_datenbank)\n",
|
|
"# Transformationen in ETRS89 / DREF91 Realisierung 2025\n",
|
|
"print(db_zugriff.get_koordinaten(\"naeherung_lh\"))"
|
|
],
|
|
"id": "daefb156198b46dc"
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": [
|
|
"importlib.reload(Datenbank)\n",
|
|
"db_zugriff = Datenbank.Datenbankzugriff(pfad_datenbank)\n",
|
|
"# Transformationen in ETRS89 / DREF91 Realisierung 2025\n",
|
|
"print(db_zugriff.get_koordinaten(\"naeherung_us\"))"
|
|
],
|
|
"id": "ab62308d8c665e58"
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": [
|
|
"importlib.reload(Import)\n",
|
|
"imp = Import.Import(pfad_datenbank)\n",
|
|
"\n",
|
|
"pfad_koordinaten_gnss = r\"Daten\\Koordinaten_OL_umliegend_bereinigt.csv\"\n",
|
|
"# X, Y, Z der SAPOS-Stationen\n",
|
|
"genauigkeit_sapos_referenzstationen = [0.05, 0.04, 0.09]\n",
|
|
"\n",
|
|
"imp.import_koordinaten_gnss(pfad_koordinaten_gnss, genauigkeit_sapos_referenzstationen)\n"
|
|
],
|
|
"id": "b28afe0c64aa59d6"
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": [
|
|
"# Datumsgebende Koordinaten bestimmen\n",
|
|
"importlib.reload(Datenbank)\n",
|
|
"db_zugriff = Datenbank.Datenbankzugriff(pfad_datenbank)\n",
|
|
"\n",
|
|
"liste_koordinaten_x = [10026]\n",
|
|
"liste_koordinaten_y = [10059]\n",
|
|
"liste_koordinaten_z = [10028]\n",
|
|
"liste_koordinaten_x_y_z = [10008, 10001]\n",
|
|
"\n",
|
|
"db_zugriff.set_datumskoordinaten(liste_koordinaten_x, liste_koordinaten_y, liste_koordinaten_z, liste_koordinaten_x_y_z)\n",
|
|
"\n",
|
|
"# Datumgebende Koordinaten entfernen\n",
|
|
"liste_koordinaten_x = [10026]\n",
|
|
"liste_koordinaten_y = [10059]\n",
|
|
"liste_koordinaten_z = [10028]\n",
|
|
"liste_koordinaten_x_y_z = [10001]\n",
|
|
"\n",
|
|
"db_zugriff.set_datumskoordinaten_to_neupunkte(liste_koordinaten_x, liste_koordinaten_y, liste_koordinaten_z, liste_koordinaten_x_y_z)"
|
|
],
|
|
"id": "ed9be38e35cfc619"
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": [
|
|
"# ToDo: Sobald GNSS vorliegend Koordinaten im ETRS89 / DREF 91 (2025) daraus berechnen!\n",
|
|
"#liste_koordinaten_naeherung_us = {\n",
|
|
"# 10001: (3794874.984, 546741.752, 5080029.990),\n",
|
|
"# 10002: (3794842.533, 546726.907, 5080071.133),\n",
|
|
"# 10037: (3794774.148, 546955.423, 5080040.520),\n",
|
|
"# 10044: (3794725.786, 546954.557, 5080084.411),\n",
|
|
"#}\n",
|
|
"\n",
|
|
"\n",
|
|
"#con = sqlite3.connect(pfad_datenbank)\n",
|
|
"#cursor = con.cursor()\n",
|
|
"#sql = \"\"\"\n",
|
|
"#UPDATE Netzpunkte\n",
|
|
"#SET naeherungx_us = ?, naeherungy_us = ?, naeherungz_us = ?\n",
|
|
"#WHERE punktnummer = ?\n",
|
|
"#\"\"\"\n",
|
|
"#for punktnummer, (x, y, z) in #liste_koordinaten_naeherung_us.items():\n",
|
|
"# cursor.execute(sql, (x, y, z, punktnummer))\n",
|
|
"#con.commit()\n",
|
|
"#cursor.close()\n",
|
|
"#con.close()"
|
|
],
|
|
"id": "efa952a603ad1909"
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": [
|
|
"# ToDo: Sobald GNSS-Daten vorliegen und die Berechnungen richtig sind, aufräumen!!!\n",
|
|
"\n",
|
|
"importlib.reload(Koordinatentransformationen)\n",
|
|
"trafos = Koordinatentransformationen.Transformationen(pfad_datenbank)\n",
|
|
"\n",
|
|
"\n",
|
|
"import numpy as np\n",
|
|
"\n",
|
|
"import itertools\n",
|
|
"import numpy as np\n",
|
|
"import sympy as sp\n",
|
|
"\n",
|
|
"db = Datenbank.Datenbankzugriff(pfad_datenbank)\n",
|
|
"dict_ausgangssystem = db.get_koordinaten(\"naeherung_lh\", \"Dict\")\n",
|
|
"dict_zielsystem = db.get_koordinaten(\"naeherung_us\", \"Dict\")\n",
|
|
"\n",
|
|
"gemeinsame_punktnummern = sorted(set(dict_ausgangssystem.keys()) & set(dict_zielsystem.keys()))\n",
|
|
"anzahl_gemeinsame_punkte = len(gemeinsame_punktnummern)\n",
|
|
"\n",
|
|
"liste_punkte_ausgangssystem = [dict_ausgangssystem[i] for i in gemeinsame_punktnummern]\n",
|
|
"liste_punkte_zielsystem = [dict_zielsystem[i] for i in gemeinsame_punktnummern]\n",
|
|
"\n",
|
|
"def dist(a, b):\n",
|
|
" return float((a - b).norm())\n",
|
|
"\n",
|
|
"print(\"d(p2,p1)=\", dist(liste_punkte_ausgangssystem[1], liste_punkte_ausgangssystem[0]))\n",
|
|
"print(\"d(P2,P1)=\", dist(liste_punkte_zielsystem[1], liste_punkte_zielsystem[0]))\n",
|
|
"print(\"m0 ~\", dist(liste_punkte_zielsystem[1], liste_punkte_zielsystem[0]) /\n",
|
|
" dist(liste_punkte_ausgangssystem[1], liste_punkte_ausgangssystem[0]))\n",
|
|
"\n",
|
|
"\n",
|
|
"def dist(a, b):\n",
|
|
" return float((a - b).norm())\n",
|
|
"\n",
|
|
"ratios = []\n",
|
|
"pairs = list(itertools.combinations(range(len(liste_punkte_ausgangssystem)), 2))\n",
|
|
"\n",
|
|
"for i, j in pairs:\n",
|
|
" d_loc = dist(liste_punkte_ausgangssystem[i], liste_punkte_ausgangssystem[j])\n",
|
|
" d_ecef = dist(liste_punkte_zielsystem[i], liste_punkte_zielsystem[j])\n",
|
|
" if d_loc > 1e-6:\n",
|
|
" ratios.append(d_ecef / d_loc)\n",
|
|
"\n",
|
|
"print(\"Anzahl Ratios:\", len(ratios))\n",
|
|
"print(\"min/mean/max:\", min(ratios), sum(ratios)/len(ratios), max(ratios))\n",
|
|
"print(\"std:\", float(np.std(ratios)))\n",
|
|
"\n",
|
|
"S_loc = sum(liste_punkte_ausgangssystem, sp.Matrix([0,0,0])) / anzahl_gemeinsame_punkte\n",
|
|
"S_ecef = sum(liste_punkte_zielsystem, sp.Matrix([0,0,0])) / anzahl_gemeinsame_punkte\n",
|
|
"\n",
|
|
"print(\"S_loc:\", S_loc)\n",
|
|
"print(\"S_ecef:\", S_ecef)\n",
|
|
"print(\"Delta:\", (S_ecef - S_loc).evalf(6))\n",
|
|
"\n",
|
|
"\n",
|
|
"def dist(a, b):\n",
|
|
" return float((a - b).norm())\n",
|
|
"\n",
|
|
"n = len(liste_punkte_ausgangssystem)\n",
|
|
"\n",
|
|
"scores = []\n",
|
|
"for i in range(n):\n",
|
|
" d_loc = []\n",
|
|
" d_ecef = []\n",
|
|
" for j in range(n):\n",
|
|
" if i == j:\n",
|
|
" continue\n",
|
|
" d_loc.append(dist(liste_punkte_ausgangssystem[i], liste_punkte_ausgangssystem[j]))\n",
|
|
" d_ecef.append(dist(liste_punkte_zielsystem[i], liste_punkte_zielsystem[j]))\n",
|
|
"\n",
|
|
" d_loc = np.array(d_loc)\n",
|
|
" d_ecef = np.array(d_ecef)\n",
|
|
"\n",
|
|
" # Verhältnisvektor; robust gegen Nullschutz\n",
|
|
" r = d_ecef / np.where(d_loc == 0, np.nan, d_loc)\n",
|
|
"\n",
|
|
" # Streuung der Ratios für Punkt i\n",
|
|
" score = np.nanstd(r)\n",
|
|
" scores.append(score)\n",
|
|
"\n",
|
|
"for pn, sc in sorted(zip(gemeinsame_punktnummern, scores), key=lambda x: -x[1]):\n",
|
|
" print(pn, round(sc, 4))\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"transformationsparameter = trafos.Helmerttransformation_Euler_Transformationsparameter_berechne()"
|
|
],
|
|
"id": "ebb18479e06e53ab"
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": [
|
|
"importlib.reload(Koordinatentransformationen)\n",
|
|
"trafos = Koordinatentransformationen.Transformationen(pfad_datenbank)\n",
|
|
"\n",
|
|
"koordinaten_transformiert = trafos.Helmerttransformation(transformationsparameter)\n",
|
|
"print(koordinaten_transformiert)"
|
|
],
|
|
"id": "2d2156381d974d94"
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": [
|
|
"importlib.reload(Datenbank)\n",
|
|
"db_zugriff = Datenbank.Datenbankzugriff(pfad_datenbank)\n",
|
|
"\n",
|
|
"db_zugriff.set_koordinaten(koordinaten_transformiert, \"naeherung_us\")"
|
|
],
|
|
"id": "5a9e8f24709980d2"
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": [
|
|
"# Importieren der tachymetrischen Beobachtungen\n",
|
|
"importlib.reload(Datenbank)\n",
|
|
"db_zugriff = Datenbank.Datenbankzugriff(pfad_datenbank)\n",
|
|
"\n",
|
|
"db_zugriff.get_instrument_liste(\"Tachymeter\")\n",
|
|
"db_zugriff.set_instrument(\"Tachymeter\", \"Trimble S9\")\n",
|
|
"db_zugriff.get_instrument_liste(\"Tachymeter\")"
|
|
],
|
|
"id": "bb4c738edcf9ac6f"
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": [
|
|
"#Importieren der apriori Genauigkeitsinformationen\n",
|
|
"#Zulässige Beobachtungsarten = \"Tachymeter_Richtung\", \"Tachymeter_Strecke\"\n",
|
|
"# Wenn Beobachtungsart = \"Tachymeter_Richtung\" --> Übergabe in Milligon und nur Stabw_apriori_konst\n",
|
|
"# Wenn Beobachtungsart = \"Tachymeter_Strecke\" --> Übergabe Stabw_apriori_konst in Millimeter und Stabw_apriori_streckenprop in ppm\n",
|
|
"\n",
|
|
"importlib.reload(Datenbank)\n",
|
|
"db_zugriff = Datenbank.Datenbankzugriff(pfad_datenbank)\n",
|
|
"importlib.reload(Berechnungen)\n",
|
|
"\n",
|
|
"db_zugriff.set_genauigkeiten(1, \"Tachymeter_Richtung\", 0.15)\n",
|
|
"db_zugriff.set_genauigkeiten(1, \"Tachymeter_Strecke\", 0.8, 1)\n",
|
|
"db_zugriff.set_genauigkeiten(1, \"Tachymeter_Zenitwinkel\", 0.15)"
|
|
],
|
|
"id": "c2db29680c53f8c4"
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": [
|
|
"# Importieren der tachymetrischen Beobachtungen\n",
|
|
"importlib.reload(Import)\n",
|
|
"imp = Import.Import(pfad_datenbank)\n",
|
|
"\n",
|
|
"pfad_datei_tachymeterbeobachtungen = r\"Daten\\campsnetz_beobachtungen_bereinigt.csv\"\n",
|
|
"\n",
|
|
"imp.import_beobachtungen_tachymeter(pfad_datei_tachymeterbeobachtungen, 1)"
|
|
],
|
|
"id": "3d074282dffbbfd0"
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": [
|
|
"# Jacobimatrix aufstellen\n",
|
|
"importlib.reload(Datenbank)\n",
|
|
"db_zugriff = Datenbank.Datenbankzugriff(pfad_datenbank)\n",
|
|
"\n",
|
|
"# Parameter des GRS80-ellipsoids (Bezugsellipsoid des ETRS89 / DREF 91 (2025)\n",
|
|
"# ToDo: Quelle mit möglichst genauen Parametern heraussuchen!\n",
|
|
"a = 6378137.0 #m\n",
|
|
"b = 63567552.314 #m\n",
|
|
"\n",
|
|
"importlib.reload(Funktionales_Modell)\n",
|
|
"fm = Funktionales_Modell.FunktionalesModell(pfad_datenbank, a, b)\n",
|
|
"\n",
|
|
"#db_zugriff.get_beobachtungen_id_standpunkt_zielpunkt(\"tachymeter_distanz\")\n",
|
|
"Jacobimatrix_symbolisch = fm.jacobi_matrix_symbolisch()[0]\n",
|
|
"Jacobimatrix_symbolisch_liste_unbekannte = fm.jacobi_matrix_symbolisch()[1]\n",
|
|
"Jacobimatrix_symbolisch_liste_beobachtungsvektor = fm.jacobi_matrix_symbolisch()[2]"
|
|
],
|
|
"id": "c9367690f5b73953"
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": [
|
|
"importlib.reload(Datenbank)\n",
|
|
"db_zugriff = Datenbank.Datenbankzugriff(pfad_datenbank)\n",
|
|
"importlib.reload(Funktionales_Modell)\n",
|
|
"fm = Funktionales_Modell.FunktionalesModell(pfad_datenbank, a, b)\n",
|
|
"\n",
|
|
"A_matrix_numerisch_iteration0 = fm.jacobi_matrix_zahlen_iteration_0(Jacobimatrix_symbolisch, \"naeherung_us\", Jacobimatrix_symbolisch_liste_unbekannte, Jacobimatrix_symbolisch_liste_beobachtungsvektor)"
|
|
],
|
|
"id": "163fa2e24923b40"
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": [
|
|
"importlib.reload(Funktionales_Modell)\n",
|
|
"fm = Funktionales_Modell.FunktionalesModell(pfad_datenbank, a, b)\n",
|
|
"\n",
|
|
"beobachtungsvektor_numerisch = fm.beobachtungsvektor_numerisch(Jacobimatrix_symbolisch_liste_beobachtungsvektor)"
|
|
],
|
|
"id": "80e8325721c950f8"
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": [
|
|
"importlib.reload(Funktionales_Modell)\n",
|
|
"fm = Funktionales_Modell.FunktionalesModell(pfad_datenbank, a, b)\n",
|
|
"\n",
|
|
"beobachtungsvektor_naeherung_symbolisch = fm.beobachtungsvektor_naeherung_symbolisch(Jacobimatrix_symbolisch_liste_beobachtungsvektor)"
|
|
],
|
|
"id": "33e9fbd465c577e4"
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": [
|
|
"importlib.reload(Funktionales_Modell)\n",
|
|
"fm = Funktionales_Modell.FunktionalesModell(pfad_datenbank, a, b)\n",
|
|
"\n",
|
|
"beobachtungsvektor_naeherung_numerisch_iteration0 = fm.beobachtungsvektor_naeherung_numerisch_iteration0(Jacobimatrix_symbolisch_liste_beobachtungsvektor, beobachtungsvektor_naeherung_symbolisch)"
|
|
],
|
|
"id": "bcf3dd5fc820d077"
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": [
|
|
"# Auftstellen der Qll-Matrix\n",
|
|
"importlib.reload(Stochastisches_Modell)\n",
|
|
"stoch_modell = Stochastisches_Modell.StochastischesModell(A_matrix_numerisch_iteration0.rows)\n",
|
|
"\n",
|
|
"Qll_matrix_symbolisch = stoch_modell.Qll_symbolisch(pfad_datenbank, Jacobimatrix_symbolisch_liste_beobachtungsvektor)\n",
|
|
"Qll_matrix_numerisch = stoch_modell.Qll_numerisch(pfad_datenbank, Qll_matrix_symbolisch,Jacobimatrix_symbolisch_liste_beobachtungsvektor)"
|
|
],
|
|
"id": "63c4db5423f4fbaf"
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": "",
|
|
"id": "56d21ad3a21bcb23"
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": "",
|
|
"id": "62ce1bc475e81e81"
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": "",
|
|
"id": "275c60800b458eae"
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": [
|
|
"importlib.reload(Funktionales_Modell)\n",
|
|
"fm = Funktionales_Modell.FunktionalesModell(pfad_datenbank, a, b)\n",
|
|
"\n",
|
|
"importlib.reload(Parameterschaetzung)\n",
|
|
"importlib.reload(Stochastisches_Modell)\n",
|
|
"\n",
|
|
"importlib.reload(Netzqualität_Genauigkeit)\n",
|
|
"importlib.reload(Export)\n",
|
|
"\n",
|
|
"\n",
|
|
"stoch_modell = Stochastisches_Modell.StochastischesModell(A_matrix_numerisch_iteration0.rows)\n",
|
|
"\n",
|
|
"dx = Parameterschaetzung.ausgleichung_global(A_matrix_numerisch_iteration0, fm.berechnung_dl(beobachtungsvektor_numerisch, beobachtungsvektor_naeherung_numerisch_iteration0), stoch_modell)[1]"
|
|
],
|
|
"id": "d114b64c8acc8c50"
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": [
|
|
"# Von Fabian\n",
|
|
"\n",
|
|
"importlib.reload(Funktionales_Modell)\n",
|
|
"fm = Funktionales_Modell.FunktionalesModell(pfad_datenbank, a, b)\n",
|
|
"importlib.reload(Export)\n",
|
|
"importlib.reload(Datenbank)\n",
|
|
"\n",
|
|
"unbekanntenvektor_symbolisch = (fm.unbekanntenvektor_symbolisch(Jacobimatrix_symbolisch_liste_unbekannte))\n",
|
|
"unbekanntenvektor_numerisch_iteration0 = fm.unbekanntenvektor_numerisch(Jacobimatrix_symbolisch_liste_unbekannte, unbekanntenvektor_symbolisch)\n",
|
|
"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)"
|
|
],
|
|
"id": "80c2cf1889ea56c8"
|
|
},
|
|
{
|
|
"metadata": {},
|
|
"cell_type": "code",
|
|
"outputs": [],
|
|
"execution_count": null,
|
|
"source": [
|
|
"# Datumsfestlegung: Bitte geben Sie nachfolgend die Koordinatenkomponenten an, die das Datum definieren sollen\n",
|
|
"\n",
|
|
"auswahl = [\n",
|
|
" (\"101\",\"X\"), (\"101\",\"Y\"), # Punkt 101 nur Lage\n",
|
|
" (\"205\",\"X\"), (\"205\",\"Y\"), (\"205\",\"Z\"), # Punkt 205 voll\n",
|
|
" (\"330\",\"Z\") # Punkt 330 nur Höhe\n",
|
|
"]\n",
|
|
"\n",
|
|
"aktive_unbekannte_indices = Datumsfestlegung.datumskomponenten(auswahl, liste_punktnummern)"
|
|
],
|
|
"id": "cd09dd5a716736b1"
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 2
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython2",
|
|
"version": "2.7.6"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|