Effacer les filtres
Effacer les filtres

Hi!! What is wrong in my code?

1 vue (au cours des 30 derniers jours)
John Medina
John Medina le 7 Août 2018
Commenté : Rik le 7 Août 2018
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 commentaires
John Medina
John Medina le 7 Août 2018
The segment line goes from (0,0) to (1,0) with direction (1,0) equivalent to angle = 0 (radian). So, t (the parameter) must go from 0 to 1. Forgive for my grammar.
Rik
Rik le 7 Août 2018
Then you should indeed use assume(0 >=t&t<=1).

Connectez-vous pour commenter.

Réponses (2)

Star Strider
Star Strider le 7 Août 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.
  2 commentaires
John Medina
John Medina le 7 Août 2018
Thanks!
Star Strider
Star Strider le 7 Août 2018
My pleasure!

Connectez-vous pour commenter.


Walter Roberson
Walter Roberson le 7 Août 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);
  1 commentaire
John Medina
John Medina le 7 Août 2018
Thanks!

Connectez-vous pour commenter.

Catégories

En savoir plus sur Mathematics dans Help Center et File Exchange

Tags

Produits


Version

R2017a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by