How to determine a new point's location using 4 distances from 4 known points?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
I have 4 point locations on a 2-D x,y plane, P1,P2,P3,P4 (X and Y ). I have 4 distances s1,s2,s3,s4 (in meters) from the 5th point say P5. I have to determine the location (X axis and Y axis) of P5. I tried the following methods:
Observation vector: [s1,s2,s3,s4] = [1925.56; 2957.43; 1827.43; 2199.27] (in meters)
Given coordinates:
P1=[x,y]=[47746.455,73932.482]
P2=[70210.345, 46085.117]
P3=[70417.924,49 057.160]
P4=[73468.228,50081.723]
Approximate values:
={X_0, Y_0] = [48355.45 72105.47]
I have to determine the balanced lines 𝑠1, 𝑠2, 𝑠3, 𝑠4 in an adjustment based on mediating observations.
0 Kommentare
Antworten (1)
Image Analyst
am 19 Dez. 2021
Some errors in your code that I've corrected:
% [s1,s2,s3,s4] =
s = [1925.56; 2957.43; 1827.43; 2199.27]; % (in meters)
% Given coordinates:
P1=[47746.455,73932.482];
P2=[70210.345, 46085.117];
P3=[70417.924, 49057.160];
P4=[73468.228, 50081.723];
viscircles([P1;P2;P3;P4], s);
grid on;
% Approximate values:
% = [X_0, Y_0] = [48355.45, 72105.47]
X_0 = 48355.45;
Y_0 = 72105.47;
hold on;
plot(X_0, Y_0, 'g+', 'LineWidth', 3, 'MarkerSize', 50)
As you can see there is no point where it matches all 4 distances from the respective points. And your "answer" (green crosshairs) is not near where three of the circles cross.
I'm attaching a demo that might help.
2 Kommentare
Image Analyst
am 19 Dez. 2021
OK
% [s1,s2,s3,s4] =
s = [1925.56; 2957.43; 1827.43; 2199.27]; % (in meters)
% Given coordinates:
P1=[73932.482,47746.455];
P2=[70210.345, 46085.117];
P3=[70417.924, 49057.160];
P4=[73468.228, 50081.723];
viscircles([P1;P2;P3;P4], s);
grid on;
% Approximate values:
% = [X_0, Y_0] = [48355.45, 72105.47]
X_0 = 48355.45;
Y_0 = 72105.47;
hold on;
plot(X_0, Y_0, 'g+', 'LineWidth', 3, 'MarkerSize', 50)
Yes the 4 circles do seem like they all intersect at a really close location.
So how do you want to solve this? You said " I tried the following methods" but then you didn't actually list any of the methods you tried. All the "code" you gave was just setting up the initial parameters. It sounds like your homework so I probably can't just hand over the answer.
So list one or more of your methods and we'll try to fix them. Or you can try to adapt my explosion demo to your numbers.
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!