How do I get these two equations to work in scenarious like this

1 回表示 (過去 30 日間)
Rohan Dey
Rohan Dey 2022 年 10 月 27 日
回答済み: Torsten 2022 年 10 月 27 日
How do I get these two equations to work when the equations are in the problem but not directly in the problem for the way they are worded. (sorry i have bad english)
syms theta1 theta2 theta3 theta4 theta5 theta6
syms c23 s23
cos23 = (cos(theta2)*cos(theta3))-(sin(theta2)*sin(theta3));
sin23 = (cos(theta2)*sin(theta3))+(sin(theta2)*cos(theta3));
T_04_INV = inv(T_01*T_12*T_23*T_34)
T_04_INV = subs(T_04_INV,[c1 s1 c2 s2 c3 s3 c4 s4], [cos(theta1) sin(theta1) cos(theta2) sin(theta2) cos(theta3) sin(theta3) cos(theta4) sin(theta4)])
T_04_INV = simplify(T_04_INV)
T_04_INV = subs(T_04_INV,[cos(theta1) sin(theta1) cos(theta2) sin(theta2) cos(theta3) sin(theta3) cos(theta4) sin(theta4) cos(theta2 + theta3) sin(theta2 + theta3)], [c1 s1 c2 s2 c3 s3 c4 s4 c23 s23])
where
T_04_INV =
[s1*s4 - c1*c4*s2*s3 + c1*c2*c3*c4, c2*c3*c4*s1 - c4*s1*s2*s3 - c1*s4, -c4*s23, d3*s4 - a3*c4 - a2*c3*c4]
[c4*s1 + c1*s2*s3*s4 - c1*c2*c3*s4, s1*s2*s3*s4 - c2*c3*s1*s4 - c1*c4, s4*s23, c4*d3 + a3*s4 + a2*c3*s4]
[ -c1*s23, -s1*s23, -c23, a2*s3 - d4]
[ 0, 0, 0, 1]
The bottom three (3,1) (3,2) (3,3) positions are working, simplyfying into c23 and s23. But they other lines are not even though they have (cos(theta2)*cos(theta3))-(sin(theta2)*sin(theta3)) and (cos(theta2)*sin(theta3))+(sin(theta2)*cos(theta3)) in there equations (just not directly)
How do I fix this so all equations simplify for c23 and s23?

回答 (1 件)

Torsten
Torsten 2022 年 10 月 27 日
As far as I know, MATLAB won't perform algebraic manipulations before substituting variables or algebraic expressions.
As an example see
syms a b c
x = a^2 + 2*a*b + b^2;
v = subs(x,a+b,c)
v = 
x = (a+b)^2;
v = subs(x,a+b,c)
v = 

カテゴリ

Help Center および File ExchangePhysical and Time Unit Conversions についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by