MATLAB Answers

Making a transformation matrix in matrix format

27 views (last 30 days)
C K Chan
C K Chan on 30 Mar 2021
Commented: C K Chan on 3 Apr 2021
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 Comment
C K Chan
C K Chan on 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!

Sign in to comment.

Accepted Answer

Paul
Paul on 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 Comments

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!