Solving and Plotting Arrays
古いコメントを表示
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 件のコメント
Jeffrey Clark
2022 年 6 月 4 日
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
2022 年 6 月 4 日
Star Strider
2022 年 6 月 4 日
My pleasure!
I just wish I could have found a solution for you!
Curious
2022 年 6 月 4 日
回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Linear Algebra についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!






