Matrix Multiplication with Trigonometric Functions
21 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
a = theta1
b = theta2
A = [cos(a+pi) -sin(a+pi)cos(pi/2) sin(a+pi)sin(pi/2) -0.033cos(a+pi);
sin(a+pi) cos(a+pi)cos(pi/2) -cos(a+pi)sin(pi/2) -0.033sin(a+pi);
0 sin(pi/2) cos(pi/2) 0.145;
0 0 0 1]
B = [cos(b+(pi/2)) -sin(b+(pi/2))cos(0) sin(b+(pi/2))sin(0) 0.155cos(b+(pi/2));
sin(b+(pi/2)) cos(b+(pi/2))cos(0) -cos(b+(pi/2))sin(0) 0.155sin(b+(pi/2));
0 sin(0) cos(0) 0;
0 0 0 1]
Answer = A*B;
0 commentaires
Réponses (1)
Rik
le 1 Déc 2021
The solution is in the error message: in Matlab you need to explicitly use the * operator. In mathematical notation you can generally leave those out, but here you need them.
5 commentaires
Walter Roberson
le 2 Déc 2021
syms theta_1 theta_2
pi = sym(pi);
a = theta_1;
b = theta_2;
A = [cos(a+pi) (-sin(a+pi))*cos(pi/2) (sin(a+pi))*sin(pi/2) -0.033*cos(a+pi);
sin(a+pi) (cos(a+pi))*cos(pi/2) (-cos(a+pi))*sin(pi/2) -0.033*sin(a+pi);
0 sin(pi/2) cos(pi/2) 0.145;
0 0 0 1];
B = [cos(b+(pi/2)) -sin(b+(pi/2))*(cos(0)) sin(b+(pi/2))*(sin(0)) 0.155*cos(b+(pi/2));
sin(b+(pi/2)) cos(b+(pi/2))*(cos(0)) -cos(b+(pi/2))*(sin(0)) 0.155*sin(b+(pi/2));
0 sin(0) cos(0) 0;
0 0 0 1];
Answer = A*B
simplify(Answer)
Voir également
Catégories
En savoir plus sur Number Theory dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


