Ansatz (Geodäsie/Vermessung)
Moin Micha,
hier mein vorerst "gelöstes" Problem. Der Lösungsansatz ist derzeit noch sehr simpel und weniger zufriedenstellend. Gerade die markierten Zeilen sind nur eine Zwischenlösung. Ich suche noch nach besseren Lösungen hierfür - und versuche es auf größere Wertebereiche zu übertragen, sodass später alles mit Matlab abläuft. In dem Zusammenhang werde ich auch noch einige Zeilen aufräumen. Momentan ist's etwas unübersichtlich. Doch immerhin: Die Ergebnisse sind zufriedenstellend.
clear all %Dezimalstellen format short g %gegebene Punkte PA = [0.8,1.1,0.4]; PB = [1.2,2.2,0.8]; PC = [2.4,2.2,1.7]; %Matrizen für jeweils x, y, z der jeweiligen Punkte PA, PB, PC Px = [[PA(:,1)];[PB(:,1)];[PC(:,1)]]; Py = [[PA(:,2)];[PB(:,2)];[PC(:,2)]]; Pz = [[PA(:,3)];[PB(:,3)];[PC(:,3)]]; %Matrix mit PA, PB, PC und deren Koordinaten x, y, z P = [0.8 1.1 0.4 1.2 2.2 0.8 2.4 2.2 1.7]; %Vektor für ppm-Werte der Punkte PA, PB, PC PPM = [1756 1758 1761]; %Anzahl der zu simulierenden Werte (variabel) AnzahlWerte = 100; %leerer Vektor B = zeros(AnzahlWerte,1); [b]%Simulation %0.41, 0.29, 0.76 für unterschiedliche Werte (ansonsten gleiche Werte)[/b] c = 0; d = 3; Cx = c + (d-c).*randn(AnzahlWerte,1)*0.41; Cy = 0.7*(c + (d-c).*randn(AnzahlWerte,1)*0.29); Cz = c + (d-c).*randn(AnzahlWerte,1)*0.76; %simulierte Koordinaten für x, y, z Rx = Cx'; Rx = Rx'; Ry = Cy'; Ry = Ry'; Rz = Cz'; Rz = Rz'; %Rc = Cc'; %Rc = Rc'; %simulierte Koordinaten gesamt RG = [Rx,Ry,Rz]; %Abstände zwischen gegebenen Punkten Abstandsmatrix = zeros(4,1); Abstandsmatrix(1,1) = 0; Abstandsmatrix(2,1) = sqrt(((PA(1,1)-PB(1,1))^2)+((PA(1,2)-PB(1,2))^2)+((PA(1,3)-PB(1,3))^2)); Abstandsmatrix(3,1) = sqrt(((PA(1,1)-PC(1,1))^2)+((PA(1,2)-PC(1,2))^2)+((PA(1,3)-PC(1,3))^2)); Abstandsmatrix(4,1) = sqrt(((PB(1,1)-PC(1,1))^2)+((PB(1,2)-PC(1,2))^2)+((PB(1,3)-PC(1,3))^2)); Abstandsmatrix; %Abstände zwischen gegebenen und simulierten Werten PN = zeros(AnzahlWerte,1); for i = 1:size(PN); P1N(i) = sqrt(((PA(1,1)-Rx(i,1))^2)+((PA(1,2)-Ry(i,1))^2)+((PA(1,3)-Rz(i,1))^2)); P2N(i) = sqrt(((PB(1,1)-Rx(i,1))^2)+((PB(1,2)-Ry(i,1))^2)+((PB(1,3)-Rz(i,1))^2)); P3N(i) = sqrt(((PC(1,1)-Rx(i,1))^2)+((PC(1,2)-Ry(i,1))^2)+((PC(1,3)-Rz(i,1))^2)); i = i+1; end %Abstände zu PA, PB, PC zu Neupunkten P1N = P1N'; P2N = P2N'; P3N = P3N'; %Abstände zu PA, PB, PC zu Neupunkten gesamt PN = [P1N,P2N,P3N]; [b]%Berechnung Gammas, Anwendung sphärisches Modell %a = range, C = Sill --> aus Excel[/b] a = 1.690; C = (19/3); Gamma = zeros(4,100); %Gammas zwischen bekannten und unbekannten Punkten %Gamma PA-PN for i=1:AnzahlWerte; for j=1:AnzahlWerte; if P1N(i,1)==0; Gamma(i,j) = 0; elseif P1N(i,1)>0 && P1N(i,1)<=a; Gamma(i,j) = C.*(((3.*P1N(i,1))./2.*a)-0.5.*(((abs(P1N(i,1)))./a).^3)); elseif abs(P1N(i,1))>a; Gamma(i,j)=C; end j = j+1; end i = i+1; end Gamma1 = Gamma(:,1); %Gamma PB-PN for i=1:AnzahlWerte; for j=1:AnzahlWerte; if P2N(i,1)==0; Gamma(i,j) = 0; elseif P2N(i,1)>0 && P2N(i,1)<=a; Gamma(i,j) = C.*(((3.*P2N(i,1))./2.*a)-0.5.*(((abs(P2N(i,1)))./a).^3)); elseif abs(P2N(i,1))>a; Gamma(i,j)=C; end j = j+1; end i = i+1; end Gamma2 = Gamma(:,1); %Gamma PC-PN for i=1:AnzahlWerte; for j=1:AnzahlWerte; if P3N(i,1)==0; Gamma(i,j) = 0; elseif P3N(i,1)>0 && P3N(i,1)<=a; Gamma(i,j) = C.*(((3.*P3N(i,1))./2.*a)-0.5.*(((abs(P3N(i,1)))./a).^3)); elseif abs(P3N(i,1))>a; Gamma(i,j)=C; end j = j+1; end i = i+1; end Gamma3 = Gamma(:,1); %Auffüllen der Matrix Gamma4 = ones(AnzahlWerte,1); %Gamma gesamt Gamma = [Gamma1';Gamma2';Gamma3';Gamma4']; %Gammas zwischen bekannten Punkten Abstandsgamma = zeros(4,1); Abstandsgamma(1,1)=0; Abstandsgamma(2,1)=C.*(((3.*Abstandsmatrix(2,1))./2.*a)-0.5.*(((abs(Abstandsmatrix(2,1)))./a).^3)); Abstandsgamma(3,1)=C; Abstandsgamma(4,1)=C.*(((3.*Abstandsmatrix(4,1))./2.*a)-0.5.*(((abs(Abstandsmatrix(4,1)))./a).^3)); Abstandsgamma; MatrixA = [Abstandsgamma(1,1) Abstandsgamma(2,1) Abstandsgamma(3,1) 1 Abstandsgamma(2,1) Abstandsgamma(1,1) Abstandsgamma(4,1) 1 Abstandsgamma(3,1) Abstandsgamma(4,1) Abstandsgamma(1,1) 1 1 1 1 0]; InvMatrixA = inv(MatrixA); Gewichte = zeros(4,AnzahlWerte); for i = 1:100; %for j = 1:100; Gewichte(:,i)=InvMatrixA*Gamma(:,i); i = i+1; end Gewichte; Gewichtsmatrix = [Gewichte(1,:) Gewichte(2,:) Gewichte(3,:)]; Endwertvektor = zeros(AnzahlWerte,1); for i = 1:AnzahlWerte; Endwertvektor(i,1)=PPM(1,1)*Gewichtsmatrix(1,i)+PPM(2,1)*Gewichtsmatrix(2,i)+PPM(3,1)*Gewichtsmatrix(3,i); i=i+1; end Endwertvektor;
gesamter Thread:
- Bedingte Simulation -
Dustin,
28.06.2017, 14:43
- Bedingte Simulation -
MichaeL,
28.06.2017, 21:29
- Bedingte Simulation -
Dustin,
29.06.2017, 10:00
- korrelierte Beobachtungen bei Monte-Carlo-Methode (Beispiel) -
MichaeL,
29.06.2017, 12:56
- korrelierte Beobachtungen bei Monte-Carlo-Methode (Beispiel) -
Dustin,
30.06.2017, 13:26
- korrelierte Beobachtungen bei Monte-Carlo-Methode (Beispiel) -
MichaeL,
30.06.2017, 14:02
- korrelierte Beobachtungen bei Monte-Carlo-Methode (Beispiel) -
Dustin,
30.06.2017, 22:27
- korrelierte Beobachtungen bei Monte-Carlo-Methode (Beispiel) -
Dustin,
04.07.2017, 13:17
- korrelierte Beobachtungen bei Monte-Carlo-Methode (Beispiel) -
MichaeL,
04.07.2017, 17:53
- korrelierte Beobachtungen bei Monte-Carlo-Methode (Beispiel) -
Dustin,
04.07.2017, 20:07
- Sequentielle Simulation -
Dustin,
11.07.2017, 14:12
- Sequentielle Simulation -
MichaeL,
11.07.2017, 16:47
- Sequentielle Simulation -
Dustin,
11.07.2017, 19:38
- Ansatz - Dustin, 12.07.2017, 20:18
- Sequentielle Simulation -
Dustin,
11.07.2017, 19:38
- Sequentielle Simulation -
MichaeL,
11.07.2017, 16:47
- Sequentielle Simulation -
Dustin,
11.07.2017, 14:12
- korrelierte Beobachtungen bei Monte-Carlo-Methode (Beispiel) -
Dustin,
04.07.2017, 20:07
- korrelierte Beobachtungen bei Monte-Carlo-Methode (Beispiel) -
MichaeL,
04.07.2017, 17:53
- korrelierte Beobachtungen bei Monte-Carlo-Methode (Beispiel) -
Dustin,
04.07.2017, 13:17
- korrelierte Beobachtungen bei Monte-Carlo-Methode (Beispiel) -
Dustin,
30.06.2017, 22:27
- korrelierte Beobachtungen bei Monte-Carlo-Methode (Beispiel) -
MichaeL,
30.06.2017, 14:02
- korrelierte Beobachtungen bei Monte-Carlo-Methode (Beispiel) -
Dustin,
30.06.2017, 13:26
- korrelierte Beobachtungen bei Monte-Carlo-Methode (Beispiel) -
MichaeL,
29.06.2017, 12:56
- Bedingte Simulation -
Dustin,
29.06.2017, 10:00
- Bedingte Simulation -
MichaeL,
28.06.2017, 21:29