only get the required result and ignore extra values
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
HELLO EVERYBODY
MY QUERY IS QUIET SIMPLE.CAN ANYBODY PLZZZZ HELP ME OUT
i run the following code on matlab
x_p = 4; y_p = 5; z_p = 2;
x_1 = 8; y_1 = 9; z_1 = 5;
x_2 = 2; y_2 = 5; z_2 = 1;
x_3 = 6; y_3 = 1; z_3 = 3;
c=3.0*10^8;
t1 = 5.692820*10^-9;
t2 = -2.924173*10^-9;
t3 = -12.010097*10^-9;
syms xs ys zs %our unknowns
eqn1 = sqrt((xs-x_p)^2+(ys-y_p)^2+(zs-z_p)^2)-sqrt((xs-x_1)^2+(ys-y_1)^2+(zs-z_2)^2)-(c*t1);
eqn2 = sqrt((xs-x_p)^2+(ys-y_p)^2+(zs-z_p)^2)-sqrt((xs-x_2)^2+(ys-y_2)^2+(zs-z_2)^2)-(c*t2);
eqn3 = sqrt((xs-x_p)^2+(ys-y_p)^2+(zs-z_p)^2)-sqrt((xs-x_3)^2+(ys-y_3)^2+(zs-z_3)^2)-(c*t3);
sol = solve([eqn1, eqn2, eqn3], [xs ys zs]);
m = 1;
for n = 1:length(sol.xs)
possibleSol(1,m) = double(sol.xs(n));
possibleSol(2,m) = double(sol.ys(n));
possibleSol(3,m) = double(sol.zs(n));
m= m+1;
end
AND THIS IS THE OUTPUT I GOT
I AM GETTING two possible solutions for x,y,z.i want to use if else loop to filter my result and i want to ignore the whole entry where a negative or complex value is present.
e.g
this is what i think code should be
ind=1
for n=1:colNo
if (1,n<0)or(2,n<0)or(3,n<0)
else validSol=possibleSol(:,n)
ind=ind+1;
end
but it has error so i want to have a loop maybe which only give the required entry which is non negative and non complex
0 Kommentare
Antworten (0)
Siehe auch
Kategorien
Mehr zu Conversion Between Symbolic and Numeric finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!