Making a transformation matrix in matrix format

6 visualizzazioni (ultimi 30 giorni)
Hi, I've a matrix shows below
syms th d alph l
A = [cos(th) -cos(alph)*sin(th) sin(alph)*sin(th) l*cos(th);
sin(th) cos(alph)*cos(th) -sin(alph)*cos(th) l*sin(th);
0 sin(alph) cos(alph) d;
0 0 0 1]
i end up getting 4 matrices
A =
[cos(th), -cos(alph)*sin(th), sin(alph)*sin(th), l*cos(th)]
[sin(th), cos(alph)*cos(th), -sin(alph)*cos(th), l*sin(th)]
[ 0, sin(alph), cos(alph), d]
[ 0, 0, 0, 1]
but I want it in one matrix format, what can I do with it?
  1 Commento
C K Chan
C K Chan il 30 Mar 2021
syms th d alph l
A = [ cos(th) -cos(alph)*sin(th) sin(alph)*sin(th) l*cos(th);
sin(th) cos(alph)*cos(th) -sin(alph)*cos(th) l*sin(th);
0 sin(alph) cos(alph) d;
0 0 0 1 ];
syms th1
A1 = subs(A,{l,alph,d,th},{0,pi/2,20,th1})
or I use subs numbers in the the matrix, I end uo getting this 4 matrices
A1 =
[cos(th1), 0, sin(th1), 0]
[sin(th1), 0, -cos(th1), 0]
[ 0, 1, 0, 20]
[ 0, 0, 0, 1]
I want to get it in one matrix like below
A1 =
cos(th1), 0, sin(th1), 0;
sin(th1), 0, -cos(th1), 0;
0, 1, 0, 20;
0, 0, 0, 1;
Thank you!

Accedi per commentare.

Risposta accettata

Paul
Paul il 30 Mar 2021
You're not getting 4, 1 x 4 matrices. It just looks like that because of the formatting to the diplay.
>> syms th d alph l
A = [ cos(th) -cos(alph)*sin(th) sin(alph)*sin(th) l*cos(th);
sin(th) cos(alph)*cos(th) -sin(alph)*cos(th) l*sin(th);
0 sin(alph) cos(alph) d;
0 0 0 1 ];
>> size(A)
ans =
4 4
As shown, A is, in fact, one 4 x 4 sym matrix.
  5 Commenti
Paul
Paul il 31 Mar 2021
So everything works as you need it to work?

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by