Hi!! What is wrong in my code?
1 view (last 30 days)
Show older comments
syms x y t
0<=t & t<=1;
eqns = [x^2 + y^2 -1 == 0, x - t*cos(0)==0, y - t*sin(0)==0];
vars = [x y];
[solv, solu] = solve(eqns, vars)
This is what I get:
solv =
Empty sym: 0-by-1
solu =
Empty sym: 0-by-1
With that code, I want to know the point of intersection between the circumference and the segment line. I hope someone can help me.
3 Comments
Answers (2)
Star Strider
on 7 Aug 2018
First, MATLAB parses matrices differently than you would expect it to, so your original ‘eqns’ system is (as MATLAB reads it) is:
eqns =
[ x^2 + y^2, 0, x - t == 0, y == 0]
Second, you need to be a bit less restrictive with respect to what you request of solve:
syms x y t
assume(0<=t & t<=1)
eqns = [x^2+y^2-1==0, x-t*cos(0)==0, y-t*sin(0)==0];
s = solve(eqns)
ts = s.t
xs = s.x
ys = s.y
ts =
1
xs =
1
ys =
0
It cannot solve for both ‘x’ and ‘y’ simultaneously in the system you posted.
Walter Roberson
on 7 Aug 2018
syms x y t
assume(0<=t & t<=1);
eqns = [x^2 + y^2 - 1 == 0, x - t*cos(0)==0, y - t*sin(0)==0]; %notice spacing change
vars = [x y];
sol = solve(eqns);
sol2 = subs(vars, sol);
solv = sol2(:,1);
solu = sol2(:,2);
See Also
Categories
Find more on Particle & Nuclear Physics 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!