In solving equation using 'solve', I tried to change the constant part by a small value say 0.1. But, If I change the value by 0.1 the solution is completely different and far away from the exact solution. Is there any solution?
1 view (last 30 days)
Show older comments
Prajan Pradhan
on 9 Feb 2016
Edited: Prajan Pradhan
on 10 Feb 2016
syms x y z
a = (sqrt((x-SatPos(1,1))^2+(y-SatPos(1,2))^2+(z-SatPos(1,3))^2)==Dis(1));
b = (sqrt((x-SatPos(2,1))^2+(y-SatPos(2,2))^2+(z-SatPos(2,3))^2)==Dis(2));
c = (sqrt((x-SatPos(3,1))^2+(y-SatPos(3,2))^2+(z-SatPos(3,3))^2)==Dis(3));
d = (sqrt((x-SatPos(4,1))^2+(y-SatPos(4,2))^2+(z-SatPos(4,3))^2)==Dis(4));
sol= solve(a,b,c,d);
If I change the value of Dis(1), Dis(2), Dis(3) and Dis(4) by small amount (say by <0.5), the final value of x,y,z are not nearby the exact solution. Is there any way to solve it?
Your suggestion would guide my project a lot.
Thanks in advance!
0 Comments
Accepted Answer
Walter Roberson
on 9 Feb 2016
No, you are solving 4 equations in 3 unknowns. The only time there would be a solution would be if the system is over-determined, which is unlikely to be the case in these equations.
7 Comments
Walter Roberson
on 10 Feb 2016
Imagine that you have a 1 cm x 1cm by 1 cm block of wood. You can balance it easily on your finger tips. If you make it 1 cm x 1 cm x 2 cm and put that tall side upward, you can probably still handle it quite easily on your finger tips. If you make it 1 cm x 1 cm x 10 cm tall side pointing upwards, then small movements in your fingertips are going to be magnified a fair bit, tiny little tremors ("errors") get magnified, but with a small bit of practice you could probably still do a fair job of keeping it balanced. Now make it 1 cm x 1 cm x 90 cm tall side upwards. Tiny tremors are going to cause it to swing wildly. A tremor as big as 1/10th cm is going to have a major effect on the position of the top of the block.
Is there a way different way of balancing the block that would allow a tremor as large as 1/10th cm to barely move the top of the block? Obviously not. The "solution" to keep the block balanced is to find a way to reduce your tremors (shaking) considerably.
The errors in your input distances correspond to the "tremors" I describe for the balancing task. If you are not able to measure your inputs to within 0.01 then your output is going to change by more you are willing to accept. That is not the fault of the equations or the technique used to solve them: it is the fault of your expectations about the calculations you are doing.
More Answers (0)
See Also
Categories
Find more on Calculus in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!