Solving and Plotting Arrays
Ältere Kommentare anzeigen
I am trying to find and plot the values of xSol and ySol by using x and y arrays as follow:
clc
clear all
% DME COORDINATES
x1= 2; y1= 10; % DME 1
x2= 15; y2= 30; % DME 2
x3= 20; y3= 3; % DME 3
% ASSUMED POSITION OF OBJECT
x = [10,25,31,35,40];
y = [20,30,41,49,56];
% DISTANCE OF OBJECT TO DMEs
r1 = sqrt((x-x1).^2+(y-y1).^2);
r2 = sqrt((x-x2).^2+(y-y2).^2);
r3 = sqrt((x-x3).^2+(y-y3).^2);
% EQUATIONS
syms x y
eqn1 = 2*x*(x2-x1)+2*y*(y2-y1) == (r1.^2) - (r2.^2) + (x2.^2) - (x1.^2) + (y2.^2) - (y1.^2);
eqn2 = 2*x*(x3-x1)+2*y*(y3-y1) == (r1.^2) - (r3.^2) + (x3.^2) - (x1.^2) + (y3.^2) - (y1.^2);
sol = solve([eqn1, eqn2], [x, y]);
i=length(x);
j=length(y);
for k=1:i
xSol = sol.x(k);
end
for m=1:j
ySol = sol.y(m);
end
plot(xSol,ySol,'LineWidth',4)
But it gives me error saying index exceeds. Kindly help!
5 Kommentare
Jeffrey Clark
am 4 Jun. 2022
I don't have the Symbolic Math Toolbox, but the documentation indictates If solve returns an empty object, then no solutions exist. So the sol.x and sol.y would be empty. You should use the length of sol.x and sol.y for i and j, not the length of x and y.
There is no solution —
% DME COORDINATES
x1= 2; y1= 10; % DME 1
x2= 15; y2= 30; % DME 2
x3= 20; y3= 3; % DME 3
% ASSUMED POSITION OF OBJECT
x = [10,25,31,35,40];
y = [20,30,41,49,56];
% DISTANCE OF OBJECT TO DMEs
r1 = sqrt((x-x1).^2+(y-y1).^2);
r2 = sqrt((x-x2).^2+(y-y2).^2);
r3 = sqrt((x-x3).^2+(y-y3).^2);
% EQUATIONS
syms x y
eqn1 = 2*x*(x2-x1)+2*y*(y2-y1) == (r1.^2) - (r2.^2) + (x2.^2) - (x1.^2) + (y2.^2) - (y1.^2)
eqn2 = 2*x*(x3-x1)+2*y*(y3-y1) == (r1.^2) - (r3.^2) + (x3.^2) - (x1.^2) + (y3.^2) - (y1.^2)
[A1,b1] = equationsToMatrix(eqn1)
[A2,b2] = equationsToMatrix(eqn2)
A = [A1;A2]
b = [b1;b2]
[x,RankA] = linsolve(A,b)
.
Curious
am 4 Jun. 2022
Star Strider
am 4 Jun. 2022
My pleasure!
I just wish I could have found a solution for you!
Curious
am 4 Jun. 2022
Antworten (0)
Kategorien
Mehr zu Linear Algebra finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!






