Calculate a letter from equation with letters.

5 visualizaciones (últimos 30 días)
Joji Mori
Joji Mori el 15 de Jun. de 2020
Editada: Stephan el 15 de Jun. de 2020
Hello.
I am just wondering that how I can calculate a letter from the equation with letters. For example here,
if I want to get cos1 and sin1 from these equation, how do I need to type the function??
syms Xe Ye a1 a2 cos1 cos2 sin1 sin2
Xe = a2*(cos1*cos2-sin1*sin2)+a1*cos1;
Ye = a2*(sin1*cos2)+a1*sin1;
Thank you in advance.

Respuesta aceptada

KSSV
KSSV el 15 de Jun. de 2020
syms Xe Ye a1 a2 cos1 cos2 sin1 sin2
eqn1=Xe == a2*(cos1*cos2-sin1*sin2)+a1*cos1;
eqn2=Ye == a2*(sin1*cos2)+a1*sin1;
sol = solve([eqn1, eqn2],cos1,sin1)
sol.sin1
sol.cos2

Más respuestas (2)

Walter Roberson
Walter Roberson el 15 de Jun. de 2020
syms Xe Ye a1 a2 cos1 cos2 sin1 sin2
Xe = a2*(cos1*cos2-sin1*sin2)+a1*cos1;
Ye = a2*(sin1*cos2)+a1*sin1;
sol = solve([Xe,Ye],[sin1,cos1])
sol =
struct with fields:
sin1: [1×1 sym]
cos1: [1×1 sym]
>> sol.sin1
ans =
0
>> sol.cos1
ans =
0

Stephan
Stephan el 15 de Jun. de 2020
Editada: Stephan el 15 de Jun. de 2020
You might want to do this:
syms Xe Ye a1 a2 cos1 cos2 sin1 sin2
eq(1) = Xe == a2*(cos1*cos2-sin1*sin2)+a1*cos1;
eq(2) = Ye == a2*(sin1*cos2)+a1*sin1;
sin1_sol = isolate(eq(2),sin1);
cos1_sol = isolate(eq(1),cos1);
cos1_sol = subs(cos1_sol,sin1,rhs(sin1_sol));
pretty(sin1_sol)
pretty(cos1_sol)
results in:
Ye
sin1 == ------------
a1 + a2 cos2
Ye a2 sin2
Xe + ------------
a1 + a2 cos2
cos1 == -----------------
a1 + a2 cos2

Categorías

Más información sobre Get Started with Symbolic Math Toolbox en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by